WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

strtok — функция стандартной библиотеки языка программирования Си, для поиска лексем в строке. Последовательность вызовов функции разбивает строку на лексемы, разделенные символами разделителями.

Прототип функции

Прототип, описанный в заголовочном файле string.h:

char *strtok(char *string, const char *delim);
  • string — указатель на строку, которую нужно разбить на лексемы. После вызова строка изменяется. Для последующего вызова можно передать NULL, тогда функция продолжит поиск в оригинальной строке.
  • delim — указатель на строку, содержащую разделители.

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

Функция возвращает указатель на первую найденную лексему в строке. Если лексем не найдено, то возвращается пустой указатель.

Использование

Подключение

C
#include <string.h>
C++
#include <cstring>

Пример использования

#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "Это не баг, это фича.";
  printf("Разделение строки \"%s\" на лексемы.", str);
  char *pch = strtok (str, " ,."); //во втором параметре указаны разделители (пробел, запятая, точка)
  printf("\nЛексемы:");
  while (pch != NULL) //пока есть лексемы
  {
      printf("\n%s", pch);
      pch = strtok (NULL, " ,.-");
  }
  return 0;
}

Вывод:

Разделение строки "Это не баг, это фича." на лексемы.
Лексемы:
Это
не
баг
это
фича

Безопасность

Функция strtok не реентерабельна. Существуют две потокобезопасные, не входящие в стандарт функции - strtok_s (в VC++) и strtok_r (в стандарте POSIX).

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии