c/string/wide/wcstok

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

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


 * If, the call is treated as the first call to for this particular wide string. The function searches for the first wide character which is not contained in.
 * If no such wide character was found, there are no tokens in at all, and the function returns a null pointer.
 * If such wide character was found, it is the beginning of the token. The function then searches from that point on for the first wide character that is contained in.
 * If no such wide character was found, has only one token, and future calls to  will return a null pointer
 * If such wide character was found, it is replaced by the null wide character and the parser state (typically a pointer to the following wide character) is stored in the user-provided location.
 * The function then returns the pointer to the beginning of the token
 * If, the call is treated as a subsequent call to : the function continues from where it left in the previous invocation with the same . The behavior is the same as if the pointer to the wide character that follows the last detected token is passed as.

@2@ Same as, except that on every step, writes the number of characters left to see in into. Repeat calls (with null ) must pass both and  with the values stored by the previous call. Also, the following errors are detected at runtime and call the currently installed constraint handler function, without storing anything in the object pointed to by
 * ,, or is a null pointer
 * on a non-initial call (with null ), is a null pointer
 * on the first call, is zero or greater than
 * search for the end of a token reaches the end of the source string (as measured by the initial value of )) without encountering the null terminator
 * As all bounds-checked functions, is only guaranteed to be available if  is defined by the implementation and if the user defines  to the integer constant  before including.

Return value
Returns pointer to the beginning of the next token or null pointer if there are no more tokens.

Note
This function is destructive: it writes the characters in the elements of the string. In particular, a wide string literal cannot be used as the first argument of.

Unlike strtok, does not update static storage: it stores the parser state in the user-provided location.

Unlike most other tokenizers, the delimiters in can be different for each subsequent token, and can even depend on the contents of the previous tokens.