Seth Woolley's Man Viewer

strtok(3) - strtok, strtok_r, strtok, strtok_r - extract tokens from strings - man 3 strtok

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

STRTOK(3)                  Linux Programmer's Manual                 STRTOK(3)



NAME
       strtok, strtok_r - extract tokens from strings

SYNOPSIS
       #include <string.h>

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

       char *strtok_r(char *s, const char *delim, char **ptrptr);

DESCRIPTION
       A  `token'  is  a  nonempty  string(3,n)  of characters not occurring in(1,8) the
       string(3,n) delim, followed by \0 or by a character occurring in(1,8) delim.

       The strtok() function can be used to parse the string(3,n)  s  into  tokens.
       The  first call to strtok() should have s as its first argument. Subse-
       quent calls should have the first  argument  set(7,n,1 builtins)  to  NULL.  Each  call
       returns  a  pointer  to the next token, or NULL when no more tokens are
       found.

       If a token ends with a delimiter, this delimiting  character  is  over-
       written  with a \0 and a pointer to the next character is saved for the
       next call to strtok().  The delimiter string(3,n) delim may be different for
       each call.

       The  strtok_r()  function  is a reentrant version(1,3,5) of the strtok() func-
       tion, which instead of using its own static buffer, requires a  pointer
       to  a user allocated char*. This pointer, the ptrptr parameter, must be
       the same while parsing the same string.

BUGS
       Never use these functions. If you do, note that:

              These functions modify their first argument.

              These functions cannot be used on constant strings.

              The identity of the delimiting character is lost.

              The strtok() function uses a static  buffer  while  parsing,  so
              it's not thread safe. Use strtok_r() if(3,n) this matters to you.

RETURN VALUE
       The  strtok()  function returns a pointer to the next token, or NULL if(3,n)
       there are no more tokens.

CONFORMING TO
       strtok()
              SVID 3, POSIX, BSD 4.3, ISO 9899

       strtok_r()
              POSIX.1c

SEE ALSO
       index(3), memchr(3), rindex(3), strchr(3), strpbrk(3), strsep(3),  str-
       spn(3), strstr(3)



GNU                               2000-02-13                         STRTOK(3)

References for this manual (incoming links)