Функция Просматривает одну строку на лексемы, которые
выделены ограничителями, определенными во второй
строке;
Синтаксис #include
char * strtok(char *s1, const char *s2);
Файл, содержащий string.h
прототип
Описание strtok рассматривает строку s1, как состоящую из
последовательности из нуля или более лексем, вы-
деленных с помощью символов из строки str2.
Первый вызов функции strtok возвращает указатель
на первый символ первой лексемы в строке s1 и за-
писывает нелевой символ в строку s1 непосредст-
венно сразу за выделенной лексемой. Последующие
вызовы со значением NULL в качестве первого аргу-
мента будут обрабатывать строку s1 таким же обра-
зом, пока не кончатся все лексемы.
Строка-разделитель s2 от вызова к вызову может
меняться.
Возвращаемое strtok возвращает указатель на лексему, находящую-
значение ся в s1. Когда закончатся все лексемы, содержащи-
еся в строке s1, функция strtok возвратит нулевой
указатель (NULL).
Переносимость strtok поддерживается на системах UNIX и совме-
стима с ANSI C.
Пример:
#include
#include
int main(void)
{
char input[16] = "abc,d;
char *p;
/* strtok помещает нулевое окончание после лексемы */
p = strtok(input,",");
if(p) printf("%s\n",p);
/* второй вызов возвращает вторую лексему */
p = strtok(NULL,",");
if(p) printf("%s\n",p);
return 0;
}