Next: , Previous: wcsstr, Up: Wchar strings


6.26 wcstok—get next token from a string

Synopsis

     #include <wchar.h>
     wchar_t *wcstok(wchar_t *__restrict source,
         const wchar_t *__restrict delimiters,
         wchar_t **__restrict lasts);
     

Description
The wcstok function is the wide-character equivalent of the strtok_r function (which in turn is the same as the strtok function with an added argument to make it thread-safe).

The wcstok function is used to isolate (one at a time) sequential tokens in a null-terminated wide-character string, *source. A token is defined as a substring not containing any wide-characters from *delimiters.

The first time that wcstok is called, *source should be specified with the wide-character string to be searched, and *lasts–but not lasts, which must be non-NULL–may be random; subsequent calls, wishing to obtain further tokens from the same string, should pass a null pointer for *source instead but must supply *lasts unchanged from the last call. The separator wide-character string, *delimiters, must be supplied each time and may change between calls. A pointer to placeholder *lasts must be supplied by the caller, and is set each time as needed to save the state by wcstok. Every call to wcstok with *source == NULL must pass the value of *lasts as last set by wcstok.

The wcstok function returns a pointer to the beginning of each subsequent token in the string, after replacing the separator wide-character itself with a null wide-character. When no more tokens remain, a null pointer is returned.


Returns
wcstok returns a pointer to the first wide character of a token, or NULL if there is no token.

Portability
wcstok is C99 and POSIX.1-2001.

wcstok requires no supporting OS subroutines.