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 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 charac-
       ter 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





GNU                     February 13, 2000                       1





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


       strtok_r()
              POSIX.1c


SEE ALSO

       index(3),  memchr(3),  rindex(3),  strchr(3),  strpbrk(3),
       strsep(3), strspn(3), strstr(3)



















































GNU                     February 13, 2000                       2