2.11BSD/man/cat3/strsep.0

Compare this file to the similar file:
Show the results in this format:




STRSEP(3)	    UNIX Programmer's Manual		STRSEP(3)



NAME
     strsep - separate strings

SYNOPSIS
     #include <string.h>

     char *
     strsep(stringp, delim)
     _c_h_a_r **_s_t_r_i_n_g_p;
     _c_h_a_r *_d_e_l_i_m;

DESCRIPTION
     The strsep() function locates, in the string referenced by
     *_s_t_r_i_n_g_p , the first occurrence of any character in the
     string _d_e_l_i_m (or the terminating `\0' character) and
     replaces it with a `\0'.  The location of the next character
     after the delimiter character (or NULL, if the end of the
     string was reached) is stored in *_s_t_r_i_n_g_p . The original
     value of *_s_t_r_i_n_g_p is returned.

     An ``empty'' field, i.e. one caused by two adjacent delim-
     iter characters, can be detected by comparing the location
     referenced by the pointer returned in *_s_t_r_i_n_g_p to `\0'.

     If *_s_t_r_i_n_g_p is initially NULL, strsep() returns NULL.

EXAMPLES
     The following uses strsep() to parse a string, containing
     tokens delimited by white space, into an argument vector:

     char **ap, *argv[10], *inputstring;

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

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











Printed 11/26/99	January 12, 1996			1