Veuillez m'expliquer le fonctionnement de strtok()
fonction. Le manuel indique qu'elle décompose la chaîne de caractères en jetons. Je ne parviens pas à comprendre ce qu'elle fait réellement.
J'ai ajouté des montres sur str
et *pch
pour vérifier son fonctionnement lors de la première boucle while, le contenu du fichier str
étaient seulement "ceci". Comment la sortie montrée ci-dessous s'est-elle imprimée à l'écran ?
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
Sortie :
Splitting string "- This, a sample string." into tokens:
This
a
sample
string