Syntaxe :
#include <cstring> char *strtok (char *str1, const char *str2);
La fonction strtok()
renvoie un pointeur sur le “segment” (“token” en anglais) suivant
dans str1
. str2
est la liste des délimiteurs qui détermine les “segments”.
NULL
est retournée lorsqu'il n'y a plus de “segments” disponibles.
Afin de convertir une chaîne de caractères en “segments”, le premier appel à strtok()
prend comme paramètre pour str1
un pointeur vers la chaîne à être segmentée.
Les appels suivants doivent faire passer NULL
en paramètre pour str1
.
Par exemple :
char str[] = "now # is the time for all # good men to come to the # aid of their country"; char delims[] = "#"; char *res = NULL; res = strtok(str, delims); while (res != NULL) { printf("res vaut \"%s\"\n", res); res = strtok(NULL, delims); }
Le code ci-dessus vaut produire la sortie suivante :
res vaut "now " res vaut " is the time for all " res vaut " good men to come to the " res vaut " aid of their country"
Sujets connexes : strchr, strcspn, strpbrk, strrchr, strspn, strstr