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

Функція strtok () в C ++ повертає наступний маркер у нульовому завершеному байтовому рядку.

прототип strtok ()

 char * strtok (char * str, const char * delim);

strtok()Функція приймає два аргументи: вул і DELIM. Ця функція знаходить маркер у рядку, на який вказує strtok. Розмежувач вказівника вказує на розділові символи.

Цю функцію можна викликати кілька разів для отримання токенів з одного рядка. Є два випадки:

  • Якщо str не NULL:
    виклик strtok () вважається першим викликом для цього рядка. Функція шукає перший символ, який не міститься у delim. Якщо такого символу не знайдено, рядок не містить жодного маркера. Отже, повертається нульовий покажчик. Якщо такий символ знайдено, звідти функція шукає символ, який присутній у 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; )

Коли ви запускаєте програму, результат буде:

 Лексемами є: папуга сова горобець голуб ворона

Цікаві статті...