Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::wcstok

      From cppreference.com
      <cpp‎ |string‎ |wide
       
       
       
       
      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.

      This function is designed to be called multiples times to obtain successive tokens from the same string.
      • Ifstr!= nullptr, 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.
      • If no such wide character was found, there are no tokens instr at all, and the function returns a null pointer.
      • If such wide character was found, it is thebeginning of the token. The function then searches from that point on for the first wide character thatis contained indelim.
      • If no such wide character was found,str has only one token, and future calls tostd::wcstok will return a null pointer.
      • If such wide character was found, it isreplaced by the null wide characterL'\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.
      • Ifstr== nullptr, the call is treated as a subsequent calls tostd::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

      [edit]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 typewchar_t*, which is used by wcstok to store its internal state

      [edit]Return value

      Pointer to the beginning of the next token or null pointer if there are no more tokens.

      [edit]Note

      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.

      [edit]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:

      Abirdcamedownthewalk

      [edit]See also

      finds the next token in a byte string
      (function)[edit]
      C documentation forwcstok
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/string/wide/wcstok&oldid=153121"

      [8]ページ先頭

      ©2009-2025 Movatter.jp