#include <string.h> char *strtok(char *s, const char *delim); char *strtok_r(char *s, const char *delim, char **ptrptr);
Функцию strtok() можно использовать для разделения строки s на токены. При первом вызове strtok() необходимо указать s в качестве первого аргумента. В последующих вызовах в качестве первого аргумента нужно использовать NULL. Каждый вызов возвращает указатель на следующий токен или NULL, если токенов больше не обнаружено.
Если токен завершается разделителем, то этот символ заменяется символом \0, а указатель на следующий символ сохраняется для следующего вызова strtok(). Разделители могут отличаться при каждом последующем вызове.
Функция strtok_r() является реентрантной версией функции strtok() и вместо статического буфера использует указатель типа char*, предоставленный пользователем. Этот указатель, передаваемый в параметре ptrptr, должен быть одним и тем же при обработке одной и той же строки.
Эти функции нельзя использовать со строковыми константами.
Информация о символах-разделителях теряется.
Функция strtok() использует статический буфер при обработке строки, поэтому её небезопасно использовать в программах со множеством процессов, работающих с одной областью памяти. Если Вам подходит strtok_r(), то используйте эту функцию.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |