strtok
From cppreference.com
Defined in header
<string.h>
|
||
char *strtok( char *str, const char *delim );
|
(until C99) | |
char *strtok( char *restrict str, const char *restrict delim );
|
(since C99) | |
Finds the next token in a null-terminated byte string pointed to by str
. The separator characters are identified by null-terminated byte string pointed to by delim
.
This function is designed to be called multiples times to obtain successive tokens from the same string.
- If str != NULL, the call is treated as the first call to
strtok
for this particular string. The function searches for the first character which is not contained indelim
.
-
- If no such character was found, there are no tokens in
str
at all, and the function returns a null pointer. - If such character was found, is it the beginning of the token. The function then searches from that point on for the first character that is contained in
delim
.
-
- If no such character was found,
str
has only one token, and the future calls tostrtok
will return a null pointer - If such character was found, it is replaced by the null character '\0' and the pointer to the following character is stored in a static location for subsequent invocations.
- If no such character was found,
- The function then returns the pointer to the beginning of the token
- If no such character was found, there are no tokens in
- If str == NULL, the call is treated as a subsequent calls to
strtok
: the function continues from where it left in previous invocation. The behavior is the same as if the previously stored pointer is passed as str.
Contents |
[edit] Parameters
str | - | pointer to the null-terminated byte string to tokenize |
delim | - | pointer to the null-terminated byte string identifying delimiters |
[edit] Return value
Pointer to the beginning of the next token or NULL if there are no more tokens.
[edit] Note
This function is destructive: it writes the '\0' characters in the elements of the string str
. In particular, a string literal cannot be used as the first argument of strtok
.
Each call to this function modifies a static variable: is not thread safe.
[edit] Example
This section is incomplete Reason: no example |