Пожалуйста, объясните мне, как работает функция strtok()
. В руководстве сказано, что она разбивает строку на токены.Я не могу понять из руководства, что на самом деле он делает.
Я добавил часы на str
и *pch
, чтобы проверить их работу, когда произошел первый цикл while, содержимое str
было только"этот".Как выходные данные, показанные ниже, напечатаны на экране?
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
Вывод:
Splitting string "- This, a sample string." into tokens:
This
a
sample
string