STRSEP(3)                      Library Routines                      STRSEP(3)


       strsep - separate strings


       #include <string.h>

       char * strsep (char **stringp, char *delim);


       The  strsep function locates, in the string referenced by *stringp, the
       first occurrence of any character in the string delim (or the terminat-
       ing     character)  and replaces it with a  .  The location of the next
       character after the delimiter character (or NULL, if  the  end  of  the
       string  was  reached)  is  stored  in  *stringp.  The original value of
       *stringp is returned.

       An ''empty'' field, i.e. one caused by two adjacent  delimiter  charac-
       ters,  can  be  detected  by  comparing  the location referenced by the
       pointer returned in *stringp to  .

       If *stringp is initially NULL, strsep returns NULL.


       The following uses strsep to parse a string, containing  tokens  delim-
       ited by white space, into an argument vector:
       char **ap, *argv[10], *inputstring;

       for (ap = argv; (*ap = strsep(&inputstring, " \t")) != NULL;)
            if (**ap != '\0')


       The  strsep  function is intended as a replacement for the strtok func-
       tion.  While the strtok function should be  preferred  for  portability
       reasons  (it  conforms  to ANSI/C) it is unable to handle empty fields,
       i.e. detect fields delimited by two adjacent delimiter  characters,  or
       to  be  used for more than a single string at a time.  The strsep func-
       tion first appeared in 4.4BSD.

GNO                             27 January 1997                      STRSEP(3)

Man(1) output converted with man2html