The
strtok() function is used to isolate sequential tokens in a nul-terminated string,
str. These tokens are separated in the string by at least one of the characters in
sep. The first time that
strtok() is called,
str should be specified; subsequent calls, wishing to obtain further tokens from the same string, should pass a null pointer instead. The separator string,
sep, must be supplied each time, and may change between calls.
The
strtok() function returns a pointer to the beginning of each subsequent token in the string, after replacing the separator character itself with a
NUL character. Separator characters at the beginning of the string or at the continuation point are skipped so that zero length tokens are not returned. When no more tokens remain, a null pointer is returned.
The
strtok_r() function implements the functionality of
strtok() but is passed an additional argument,
lasts, which points to a user-provided pointer which is used by
strtok_r() to store state which needs to be kept between calls to scan the same string; unlike
strtok(), it is not necessary to limit tokenizing to a single string at a time when using
strtok_r().