std::wcstok
std::wcstok
Defined in header | | |
---|---|---|
wchar_t* wcstok( wchar_t* str, const wchar_t* delim, wchar_t ** ptr | | |
Finds the next token in a null-terminated wide str
ing pointed to by str
. The separator characters are identified by null-terminated wide str
ing pointed to by delim
.
This function is designed to be called multiples times to obtain successive tokens from the same string.
- If
str !=
NULL
, the call is treated as the first call tostd::wcstok
for this particular wide string. The function searches for the first wide character which isnot
contained indelim
.
Parameters
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 type wchar_t*, which is used by wcstok 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 destr
uctive: it writes the L'\0'
characters in the elements of the str
ing str
. In particular, a wide str
ing 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
#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) |
---|
| C documentation for wcstok |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.