strsep()

Разделить строку на части по заданным разделителям

Прототип:

#include <string.h>
char * strsep( char **stringp,
char *delim );

Аргументы:

stringp
Адрес указателя на строку, которую требуется разбить на части.
delim
Набор разделителей.

Библиотека:

libc

Описание:

Функция strsep() ищет в NUL-терминированной строке stringp, первое вхождение любого символа из delim и заменяет его на \0, записывает местоположение следующего символа в *stringp, затем возвращает исходное значение *stringp. Если символы-разделители не найдены, strsep() устанавливает *stringp в NULL; если *stringp изначально имеет значение NULL, strsep() возвращает NULL.

Возвращаемое значение:

Указатель на исходное значение *stringp.

Примеры:

Анализ строк c пробельными символами, составляющих массив аргументов:

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;

Классификация:

Unix

Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

strtok(), strtok_r(), wcstok()




Предыдущий раздел: Описание API системной библиотеки