strtok
strtok — функция стандартной библиотеки языка программирования Си, для поиска лексем в строке. Последовательность вызовов функции разбивает строку на лексемы, разделенные символами разделителями.
Прототип функции
Прототип, описанный в заголовочном файле string.h
:
char *strtok(char *string, const char *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).
Ссылки
- C++ reference: strtok Архивная копия от 23 февраля 2015 на Wayback Machine (англ.) — описание strtok с примером.
- Рацеев Сергей Михайлович, Череватенко Ольга Ивановна. Алгоритмы разбиения строки на лексемы в языке программирования Си // Вестник Адыгейского государственного университета. Серия 4: Естественно-математические и технические науки. — 2012. — № 4 (110).
🔥 Top keywords: Заглавная страницаЯндексЦивилёва, Анна ЕвгеньевнаБотулизмСлужебная:ПоискЧемпионат Европы по футболу 2024Годовщины свадьбыYouTubeГорнин, Леонид ВладимировичЦивилёв, Сергей ЕвгеньевичШевцова, Татьяна ВикторовнаКурбан-байрамЧемпионат Европы по футболу 2020Фрадков, Михаил ЕфимовичБРИКССпортивные игры БРИКС 2024Список умерших в 2024 годуДом Дракона (2-й сезон)Мбаппе, КилианПопов, Павел АнатольевичРоссияСавельев, Олег ГенриховичЧемпионат Европы по футболуЦаликов, Руслан ХаджисмеловичСборная Украины по футболуБриджертоныПацаны (4-й сезон)Путин, Владимир ВладимировичКлеопатраЛепс, Григорий ВикторовичЛукаку, РомелуДом ДраконаГоловоломка 2Криштиану РоналдуТедеско, ДоменикоСборная Румынии по футболуРебров, Сергей СтаниславовичЧикатило, Андрей РомановичСборная Франции по футболу