Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help