std:: wcstok
|
Défini dans l'en-tête
<cwchar>
|
||
|
wchar_t
*
wcstok
(
wchar_t
*
str,
const
wchar_t
*
delim,
wchar_t
**
ptr
)
;
|
||
Trouve le jeton suivant dans la chaîne large terminée par un nul pointée par str . Les caractères séparateurs sont identifiés par la chaîne large terminée par un nul pointée par delim .
-
-
Si
str
!
=
nullptr
, l'appel est traité comme le premier appel à
std::wcstokpour cette chaîne large particulière. La fonction recherche le premier caractère large qui n'est pas contenu dans delim .
-
- Si aucun caractère large de ce type n'est trouvé, il n'y a aucun jeton dans str , et la fonction retourne un pointeur nul.
- Si un tel caractère large est trouvé, il constitue le début du jeton . La fonction recherche ensuite à partir de ce point le premier caractère large qui est contenu dans delim .
-
-
Si aucun caractère large de ce type n'est trouvé,
str
ne contient qu'un seul jeton, et les appels futurs à
std::wcstokretourneront un pointeur nul. - Si un tel caractère large est trouvé, il est remplacé par le caractère large nul L ' \0 ' et l'état de l'analyseur (généralement un pointeur vers le caractère large suivant) est stocké dans l'emplacement fourni par l'utilisateur * ptr .
-
Si aucun caractère large de ce type n'est trouvé,
str
ne contient qu'un seul jeton, et les appels futurs à
- La fonction retourne ensuite le pointeur vers le début du jeton.
-
Si
str
==
nullptr
, l'appel est traité comme un appel ultérieur à
std::wcstok: la fonction continue là où elle s'était arrêtée lors de l'invocation précédente avec le même * ptr . Le comportement est le même que si le pointeur vers le caractère large qui suit le dernier jeton détecté est passé comme str .
-
Si
str
!
=
nullptr
, l'appel est traité comme le premier appel à
Table des matières |
Paramètres
| str | - | pointeur vers la chaîne large terminée par un caractère nul à tokeniser |
| delim | - | pointeur vers la chaîne large terminée par un caractère nul identifiant les délimiteurs |
| ptr | - | pointeur vers un objet de type wchar_t * , qui est utilisé par wcstok pour stocker son état interne |
Valeur de retour
Pointeur vers le début du prochain jeton ou pointeur nul s'il n'y a plus de jetons.
Note
Cette fonction est destructive : elle écrit les
L
'
\0
'
caractères dans les éléments de la chaîne
str
. En particulier, un littéral de chaîne large ne peut pas être utilisé comme premier argument de
std::wcstok
.
Contrairement à std::strtok , cette fonction ne met pas à jour le stockage statique : elle stocke l'état de l'analyseur à l'emplacement fourni par l'utilisateur.
Contrairement à la plupart des autres tokenizers, les délimiteurs dans
std::wcstok
peuvent être différents pour chaque token subséquent, et peuvent même dépendre du contenu des tokens précédents.
Exemple
#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); } }
Sortie :
A bird came down the walk
Voir aussi
|
trouve le jeton suivant dans une chaîne d'octets
(fonction) |
|
|
Documentation C
pour
wcstok
|
|