Provided by:
manpages-fr_1.67.0-1_all 
NOM
strtok, strtok_r - Extraire des mots d’une chaîne.
SYNOPSIS
#include <string.h>
char *strtok (char *s, const char *delim);
char *strtok_r (char *s, const char *delim, char **ptrptr);
DESCRIPTION
Un élément lexical (token) est une chaîne non vide de caractères qui
n’appartiennent pas à la chaîne delim, suivie de \0 ou d’un caractère
appartenant à delim.
La fonction strtok() peut être utilisée pour scinder s en éléments
lexicaux. Le premier appel à strtok() doit fournir s comme premier
argument. Les appels ultérieurs doivent fournir NULL comme premier
argument. Chaque appel renvoie un pointeur sur l’élément lexical
suivant, ou NULL quand il n’y en a plus.
Si un token se termine par un délimiteur, le caractère de délimitation
est surchargé par un \0 et un pointeur sur le caractère suivant est
mémorisé pour l’appel suivant à strtok(). La chaîne de séparateurs
delim peut être différente à chaque appel.
La fonction strtok_r() est identique à strtok() mais au lieu d’utiliser
un buffer statique, elle emploie un pointeur sur un buffer "char *"
alloué par l’utilisateur. Ce pointeur transmis comme paramètre ptrptr
doit être toujours le même durant l’analyse d’une chaîne.
BOGUES
Évitez au maximum d’utiliser cette fonction. Sinon, prenez note des
informations suivantes :
Cette fonction modifie son premier argument.
Les caractères de séparation sont surchargés, leur identité est
donc perdue.
Cette fonction ne doit pas être invoquée sur une chaîne
constante.
La fonction strtok() utilise un buffer statique et n’est donc
pas sûre dans un contexte multithread. Dans ce cas il vaut mieux
utiliser strtok_r().
VALEUR RENVOYÉE
La fonction strtok() renvoie un pointeur sur l’élément lexical suivant,
ou NULL s’il n’y en a plus.
CONFORMITÉ
strtok ()
SVID 3, POSIX, BSD 4.3, ISO 9899
strtok_r ()
POSIX.1c
VOIR AUSSI
index(3), memchr(3), rindex(3), strchr(3), strpbrk(3), strsep(3),
strspn(3), strstr(3)
TRADUCTION
Christophe Blaess, 1996-2003.