*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> strsep (3)              
Title
Content
Arch
Section
 

STRSEP(3)

Contents


NAME    [Toc]    [Back]

     strsep - separate strings

SYNOPSIS    [Toc]    [Back]

     #include <string.h>

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

DESCRIPTION    [Toc]    [Back]

     The strsep() function locates, in the string  referenced  by
*stringp, the
     first  occurrence  of  any character in the string delim (or
the terminating
     ` ' 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 characters,
 can be detected by comparing the  location  referenced
by the pointer
     returned by strsep() to ` '.

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

EXAMPLES    [Toc]    [Back]

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

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

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

HISTORY    [Toc]    [Back]

     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 X3.159-1989 (``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() function first appeared in 4.4BSD.

OpenBSD      3.6                           June      9,      1993
[ Back ]
 Similar pages
Name OS Title
ng_split FreeBSD netgraph node to separate incoming and outgoing flows
glxmakecurrentreadsgi IRIX attach a GLX context to separate read and write drawables
pssplit IRIX split a PostScript file into separate single-page files
xstr NetBSD extract strings from C programs to implement shared strings
xstr HP-UX extract strings from C programs to implement shared strings
xstr Tru64 Extracts strings from C programs to implement shared strings
xstr IRIX extract strings from C programs to implement shared strings
xstr FreeBSD extract strings from C programs to implement shared strings
xstr OpenBSD extract strings from C programs to implement shared strings
dcl2inc Linux postprocess ftnchek .dcl files to create separate INCLUDE files
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service