wcstok()

Updated: April 19, 2023

Break a wide-character string into tokens

Synopsis:

#include <wchar.h>

wchar_t * wcstok( wchar_t * ws1,
                  const wchar_t * ws2,
                  wchar_t ** ptr );

Arguments:

ws1
NULL, or the wide-character string that you want to break into tokens; see below.
ws2
A set of the wide characters that separate the tokens.
ptr
The address of a pointer to a wchar_t object, which the function can use to store information necessary for it to continue scanning the same string.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The function wcstok() breaks the wide-character string pointed to by ws1 into a sequence of tokens, each of which is delimited by a wide character from the string pointed to by ws2.

In the first call to wcstok(), ws1 must point to a null-terminated string, ws2 must point to a null-terminated string of separator wide characters, and ptr is ignored. The wcstok() function returns a pointer to the first wide character of the first token and updates ptr.

In subsequent calls, to continue scanning through the string ws1 and return successive tokens, specify a NULL pointer for ws1 and leave ptr unchanged after each call. The separator string ws2 may differ from call to call. When no tokens remain in ws1, a NULL pointer is returned.

Returns:

A pointer to the token found, or NULL if no token was found.

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes