cpp/string/byte/strtok

Finds the next token in a null-terminated byte string pointed to by. The separator characters are identified by null-terminated byte string pointed to by.

This function is designed to be called multiple times to obtain successive tokens from the same string.


 * If is not a null pointer, the call is treated as the first call to  for this particular string. The function searches for the first character which is not contained in.
 * If no such character was found, there are no tokens in at all, and the function returns a null pointer.
 * If such character was found, it is the beginning of the token. The function then searches from that point on for the first character that is contained in.
 * If no such character was found, has only one token, and the future calls to  will return a null pointer.
 * If such character was found, it is replaced by the null character and the pointer to the following character is stored in a static location for subsequent invocations.
 * The function then returns the pointer to the beginning of the token.


 * If is a null pointer, the call is treated as a subsequent call to : the function continues from where it left in previous invocation. The behavior is the same as if the previously stored pointer is passed as.

Return value
Pointer to the beginning of the next token or a if there are no more tokens.

Possible implementation
Actual C++ library implementations of this function delegate to the C library, where it may be implemented directly (as in MUSL libc), or in terms of its reentrant version (as in GNU libc).