STRTOKSection: Linux Programmer's Manual (3)Updated: 2000-02-13 |
STRTOKSection: Linux Programmer's Manual (3)Updated: 2000-02-13 |
#include <string.h> char *strtok(char *s, const char *delim); char *strtok_r(char *s, const char *delim, char **ptrptr);
The strtok() function can be used to parse the string s into tokens. The first call to strtok() should have s as its first argument. Subsequent calls should have the first argument set to NULL. Each call returns a pointer to the next token, or NULL when no more tokens are found.
If a token ends with a delimiter, this delimiting character is overwritten with a \0 and a pointer to the next character is saved for the next call to strtok(). The delimiter string delim may be different for each call.
The strtok_r() function is a reentrant version of the strtok() function, which instead of using its own static buffer, requires a pointer to a user allocated char*. This pointer, the ptrptr parameter, must be the same while parsing the same string.
These functions cannot be used on constant strings.
The identity of the delimiting character is lost.
The strtok() function uses a static buffer while parsing, so it's not thread safe. Use strtok_r() if this matters to you.