C ++ wcstok () - Bibliothèque standard C ++

La fonction wcstok () en C ++ renvoie le jeton suivant dans une chaîne large terminée par null.

La fonction wcstok () est définie dans le fichier d'en-tête.

prototype wcstok ()

 wchar_t * wcstok (wchar_t * str, const wchar_t * delim, wchar_t ** ptr);

La fonction wcstok () prend trois arguments: str, delim et ptr. Cette fonction trouve le jeton dans la chaîne large pointée par str. La délimitation du pointeur pointe vers les caractères de séparation.

Cette fonction peut être appelée plusieurs fois pour obtenir des jetons à partir de la même chaîne large. Il y a deux cas:

  1. Si str n'est pas NULL:
    Un appel à wcstok () est considéré comme le premier appel pour cette chaîne large. La fonction recherche le premier caractère large qui n'est pas contenu dans delim. Si aucun caractère large n'est trouvé, la chaîne large ne contient aucun jeton. Un pointeur nul est donc renvoyé.
    Si un tel caractère large est trouvé, à partir de là, la fonction recherche un caractère large présent en délimitation. Si aucun séparateur n'est trouvé, str n'a qu'un seul jeton. Si un séparateur est trouvé, il est remplacé par L ' 0' et le pointeur vers le caractère suivant est stocké dans * ptr. Enfin, la fonction renvoie le pointeur vers le début du jeton.
  2. Si str est NULL:
    l'appel est considéré comme des appels ultérieurs à wcstok et la fonction continue à partir de là où elle l'a laissée lors de l'appel précédent avec le même * ptr.

Paramètres wcstok ()

  • str: pointeur vers la chaîne large terminée par null à tokenize.
  • delim: pointeur vers la chaîne large terminée par null qui contient les séparateurs.
  • ptr: pointeur vers un pointeur vers un caractère large qui est utilisé par wcstok pour stocker son état interne.

wcstok () Valeur de retour

  • La fonction wcstok () renvoie le pointeur vers le début du jeton suivant s'il y en a
  • Il renvoie NULL si aucun autre jeton n'est trouvé.

Exemple: comment fonctionne la fonction wcstok ()?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"parrot,owl,sparrow,pigeon,crow"; wchar_t delim() = L"u002c";// unicode for comma wchar_t *ptr; wcout << L"The tokens are:" << endl; wchar_t *token = wcstok(str,delim,&ptr); while (token) ( wcout << token << endl; token = wcstok(NULL,delim,&ptr); ) return 0; )

Lorsque vous exécutez le programme, la sortie sera:

 Les jetons sont: perroquet hibou moineau pigeon corbeau

Articles intéressants...