Функция strtok () в C ++ возвращает следующий токен в строке байтов с завершающим нулем.
strtok () прототип
char * strtok (char * str, const char * delim);
strtok()
Функция принимает два аргумента: ул и DELIM. Эта функция находит токен в строке, на которую указывает strtok
. Ограничитель указателя указывает на символы-разделители.
Эту функцию можно вызывать несколько раз для получения токенов из одной и той же строки. Есть два случая:
- Если str не равно NULL:
вызов strtok () считается первым вызовом для этой строки. Функция ищет первый символ, не содержащийся в delim. Если такой символ не найден, строка не содержит токена. Таким образом, возвращается нулевой указатель. Если такой символ найден, оттуда функция ищет символ, который присутствует в разделителе. Если разделитель не найден, str имеет только один токен. Если разделитель найден, он заменяется на ' 0', а указатель на следующий символ сохраняется в статическом месте для последующих вызовов. Наконец, функция возвращает указатель на начало токена. - Если str имеет значение NULL:
вызов рассматривается как последующие вызовы strtok, и функция продолжается с того места, где она была оставлена в предыдущем вызове.
Он определен в заголовочном файле "> заголовочный файл.
Параметры strtok ()
str
: Указатель на строку байтов с завершающим нулем для токенизации.delim
: Указатель на строку байтов с завершающим нулем, содержащую разделители.
strtok () Возвращаемое значение
strtok()
Функция возвращает указатель на следующий токен , если есть, или возвращает NULL , если не больше маркеров не найдены.
Пример: как работает функция strtok ()
#include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )
Когда вы запустите программу, вывод будет:
Жетоны: попугай, сова, воробей, голубь, ворона.