Provided by: manpages-pt-dev_20040726-4_all bug

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 of characters not occurring in the string delim, followed
       by \0 or by a character occurring in delim.

       The strtok() function can be used to parse the string s into tokens.  The  first  call  to
       strtok()  should  have  s  as  its  first argument. Subsequent calls should have the first
       argument set 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 overwritten with a \0 and a
       pointer to the next character is saved for the  next  call  to  strtok().   The  delimiter
       string delim may be different for each call.

       The  strtok_r()  function  works the same as the strtok() function, but instead of using a
       static buffer it uses a pointer to a user  allocated  char*  pointer.  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.

              The identity of the delimiting character is lost.

              These functions cannot be used on constant strings.

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

RETURN VALUE

       The strtok() function returns a pointer to the next token, or NULL if 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), strspn(3), strstr(3)