| Localization library | |||||||||||||||||||||||||
| Regular expressions library(C++11) | |||||||||||||||||||||||||
| Formatting library(C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||
| Character classification | ||||||||||||||||||||||||||
| Character manipulation | ||||||||||||||||||||||||||
| Conversions to numeric formats | ||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||
| String manipulation | ||||||||||||||||||||||||||
| String examination | ||||||||||||||||||||||||||
| Array manipulation | ||||||||||||||||||||||||||
Defined in header <cwchar> | ||
wchar_t* wcstok(wchar_t* str,constwchar_t* delim,wchar_t** ptr); | ||
Finds the next token in a null-terminated wide string pointed to bystr. The separator characters are identified by null-terminated wide string pointed to bydelim.
std::wcstok for this particular wide string. The function searches for the first wide character which isnot contained indelim.std::wcstok will return a null pointer.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 detected token is passed asstr.Contents |
| str | - | pointer to the null-terminated wide string to tokenize |
| delim | - | pointer to the null-terminated wide string identifying delimiters |
| ptr | - | pointer to an object of typewchar_t*, which is used by wcstok to store its internal state |
Pointer to the beginning of the next token or null pointer if there are no more tokens.
This function is destructive: it writes theL'\0' characters in the elements of the stringstr. In particular, a wide string literal cannot be used as the first argument ofstd::wcstok.
Unlikestd::strtok, this function does not update static storage: it stores the parser state in the user-provided location.
Unlike most other tokenizers, the delimiters instd::wcstok can be different for each subsequent token, and can even depend on the contents of the previous tokens.
#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:
Abirdcamedownthewalk
| finds the next token in a byte string (function)[edit] | |
C documentation forwcstok | |