QNX Developer Support
![]() |
![]() |
![]() |
![]() |
strsep()
Separate a string into pieces marked by given delimiters
Synopsis:
#include <string.h>
char *strsep( char **stringp,
char *delim );
Arguments:
- stringp
- The address of a pointer to the string that you want to break into pieces; see below.
- delim
- A set of characters that delimit the pieces in the string.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The strsep() function looks in the null-terminated string pointed to by stringp for the first occurrence of any character in delim and replaces this with a \0, records the location of the next character in *stringp, then returns the original value of *stringp. If no delimiter characters are found, strsep() sets *stringp to NULL; if *stringp is initially NULL, strsep() returns NULL.
Returns:
A pointer to the original value of *stringp.
Examples:
Parse strings containing runs of whitespace, making up an argument vector:
char inputstring[100];
char **argv[51], **ap = argv, *p, *val;
/* set up inputstring */
for (p = inputstring; p != NULL; ) {
while ((val = strsep(&p, " \t")) != NULL && *val == '\0');
*ap++ = val;
}
*ap = 0;
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Yes |
| Signal handler | Yes |
| Thread | Yes |
See also:
strtok(), strtok_r(), wcstok()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
