http://www.cplusplus.com/reference/clibrary/cstring/strtok/
char * strtok (char * str, const char * delimiters);
Разделение строки на токены Последовательность вызовов этой функции разбивает str на токены, которые являютсяпоследовательности смежных символов, разделенных любыми символами, являющимися частью разделителей.
При первом вызове функция ожидает строку C в качестве аргумента для str, первый символ которого используется в качестве начального местоположения для поискажетоны.При последующих вызовах функция ожидает нулевой указатель и использует позицию сразу после конца последнего токена в качестве нового начального местоположения для сканирования.
Чтобы определить начало и конец токена, функция сначала сканируетот начальной позиции для первого символа, не содержащегося в разделителях (который становится началом токена).А затем сканирует, начиная с этого начала токена, для первого символа, содержащегося в разделителях, который становится концом токена.
Этот конец токена автоматически заменяется нулевым символом функцией, иначало токена возвращается функцией.
Как только в вызове strtok найден завершающий нулевой символ str, все последующие вызовы этой функции с нулевым указателем в качестве первого аргумента возвращают нулевойуказатель.
Параметры
str C строка для усечения.Содержимое этой строки модифицируется и разбивается на более мелкие строки (токены).В качестве альтернативы, нулевой указатель может быть указан, и в этом случае функция продолжает сканирование после завершения предыдущего успешного вызова функции.разделители C строка, содержащая разделители.Они могут варьироваться от одного вызова к другому.
Возвращаемое значение Указатель на последний токен, найденный в строке.Пустой указатель возвращается, если для извлечения не осталось токенов.
..... для продолжения ....
/* 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;
}