Provided by: manpages-fr_1.67.0-1_all bug

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.