MirOS Manual: strsep(3)

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

NAME

     strsep - separate strings

SYNOPSIS

     #include <string.h>

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

DESCRIPTION

     The strsep() function locates, in the string referenced by *stringp, the
     first occurrence of any character in the string delim (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 *stringp. The original value of *stringp
     is returned.

     An "empty" field, i.e., one caused by two adjacent delimiter characters,
     can be detected by comparing the location referenced by the pointer re-
     turned by strsep() to '\0'.

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

EXAMPLES

     The following uses strsep() to parse a string, containing tokens delimit-
     ed by whitespace, into an argument vector:

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

           for (ap = argv; ap < &argv[9] &&
               (*ap = strsep(&inputstring, " \t")) != NULL;) {
                   if (**ap != '\0')
                           ap++;
           }
           *ap = NULL;

HISTORY

     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 X3.159-1989 ("ANSI C")) it is unable to han-
     dle 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() function first appeared in 4.4BSD.

MirOS BSD #10-current            June 9, 1993                                1

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.