# wcstok

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           wcstok — split a wide-character string into tokens
    


## SYNOPSIS



           #include <wchar.h>
    
           wchar_t *wcstok(wchar_t *restrict _ws1_ , const wchar_t *restrict _ws2_ ,
               wchar_t **restrict _ptr_);
    


## DESCRIPTION



           The functionality described on this reference page is aligned with
           the ISO C standard. Any conflict between the requirements
           described here and the ISO C standard is unintentional. This
           volume of POSIX.1‐2017 defers to the ISO C standard.
    
           A sequence of calls to _wcstok_() shall break the wide-character
           string pointed to by _ws1_ into a sequence of tokens, each of which
           shall be delimited by a wide-character code from the wide-
           character string pointed to by _ws2_.  The _ptr_ argument points to a
           caller-provided **wchar_t** pointer into which the _wcstok_() function
           shall store information necessary for it to continue scanning the
           same wide-character string.
    
           The first call in the sequence has _ws1_ as its first argument, and
           is followed by calls with a null pointer as their first argument.
           The separator string pointed to by _ws2_ may be different from call
           to call.
    
           The first call in the sequence shall search the wide-character
           string pointed to by _ws1_ for the first wide-character code that is
           _not_ contained in the current separator string pointed to by _ws2_.
           If no such wide-character code is found, then there are no tokens
           in the wide-character string pointed to by _ws1_ and _wcstok_() shall
           return a null pointer. If such a wide-character code is found, it
           shall be the start of the first token.
    
           The _wcstok_() function shall then search from there for a wide-
           character code that _is_ contained in the current separator string.
           If no such wide-character code is found, the current token extends
           to the end of the wide-character string pointed to by _ws1_ , and
           subsequent searches for a token shall return a null pointer. If
           such a wide-character code is found, it shall be overwritten by a
           null wide character, which terminates the current token. The
           _wcstok_() function shall save a pointer to the following wide-
           character code, from which the next search for a token shall
           start.
    
           Each subsequent call, with a null pointer as the value of the
           first argument, shall start searching from the saved pointer and
           behave as described above.
    
           The implementation shall behave as if no function calls _wcstok_().
    


## RETURN VALUE



           Upon successful completion, the _wcstok_() function shall return a
           pointer to the first wide-character code of a token. Otherwise, if
           there is no token, _wcstok_() shall return a null pointer.
    


## ERRORS



           No errors are defined.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *