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

La fonction strtok () en C ++ renvoie le jeton suivant dans une chaîne d'octets terminée par null.

prototype strtok ()

 char * strtok (char * str, const char * delim);

La strtok()fonction prend deux arguments: str et delim. Cette fonction trouve le jeton dans la chaîne pointée par strtok. 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 de la même chaîne. Il y a deux cas:

  • Si str n'est pas NULL:
    Un appel à strtok () est considéré comme le premier appel pour cette chaîne. La fonction recherche le premier caractère qui n'est pas contenu dans delim. Si aucun caractère de ce type n'est trouvé, la chaîne ne contient aucun jeton. Un pointeur nul est donc renvoyé. Si un tel caractère est trouvé, à partir de là, la fonction recherche un caractère présent dans la 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 ' 0' et le pointeur vers le caractère suivant est stocké dans un emplacement statique pour les appels suivants. Enfin, la fonction renvoie le pointeur vers le début du jeton.
  • Si str est NULL:
    l'appel est considéré comme des appels ultérieurs à strtok et la fonction continue à partir de là où elle s'était arrêtée lors de l'appel précédent.

Il est défini dans le fichier d'en-tête "> fichier d'en-tête.

Paramètres de strtok ()

  • str: Pointeur vers la chaîne d'octets terminée par null à tokenize.
  • delim: Pointeur vers la chaîne d'octets terminée par null qui contient les séparateurs.

strtok () Valeur de retour

La strtok()fonction renvoie le pointeur vers le jeton suivant s'il y en a, ou elle renvoie NULL si aucun autre jeton n'est trouvé.

Exemple: fonctionnement de la fonction strtok ()

 #include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )

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

 Les jetons sont: perroquet hibou moineau pigeon corbeau

Articles intéressants...