FreeBSD Manual Pages
std::wcstok(3) C++ Standard Libary std::wcstok(3) NAME std::wcstok - std::wcstok Synopsis Defined in header <cwchar> wchar_t* wcstok( wchar_t* str, const wchar_t* delim, wchar_t ** ptr); Finds the next token in a null-terminated wide string pointed to by str. The separator characters are identified by null-terminated wide string pointed to by delim. This function is designed to be called multiples times to obtain successive tokens from the same string. * If str != nullptr, the call is treated as the first call to std::wcstok for this particular wide string. The function searches for the first wide character which is not contained in delim. * If no such wide character was found, there are no tokens in str 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 con- tained in delim. * If no such wide character was found, str has only one token, and future calls to std::wcstok will return a null pointer * If such wide character was found, it is replaced by the null wide character L'\0' and the parser state (typically a pointer to the following wide character) is stored in the user-provided location *ptr. * The function then returns the pointer to the beginning of the token * If str == nullptr, the call is treated as a subsequent calls to std::wcstok: the function continues from where it left in previous invocation with the same *ptr. The behavior is the same as if the pointer to the wide character that follows the last de- tected token is passed as str. Parameters str - pointer to the null-terminated wide string to tokenize delim - pointer to the null-terminated wide string identifying de- limiters ptr - pointer to an object of type wchar_t*, which is used by wc- stok to store its internal state Return value 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 L'\0' characters in the elements of the string str. In particular, a wide string literal cannot be used as the first argument of std::wcstok. Unlike std::strtok, this function does not update static storage: it stores the parser state in the user-provided location. Unlike most other tokenizers, the delimiters in std::wcstok can be different for each subsequent token, and can even depend on the contents of the previous tokens. Example // Run this code #include <cwchar> #include <iostream> int main() { wchar_t input[100] = L"A bird came down the walk"; wchar_t* buffer; wchar_t* token = std::wcstok(input, L" ", &buffer); while (token) { std::wcout << token << '\n'; token = std::wcstok(nullptr, L" ", &buffer); } } Output: A bird came down the walk See also strtok finds the next token in a byte string (function) http://cppreference.com 2022.07.31 std::wcstok(3)
NAME | Synopsis | Parameters | Return value | Note | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::wcstok&sektion=3&manpath=FreeBSD+Ports+15.0>
