C ++ strtok () - Стандартная библиотека C ++

Функция 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; )

Когда вы запустите программу, вывод будет:

 Жетоны: попугай, сова, воробей, голубь, ворона.

Интересные статьи...