pch = strtok(str," ");
strcpy(piece1,pch);
printf("\n piece1 : %s \n",piece1);
while(pch != NULL){
printf("\n %s \n",pch);
pch = strtok(NULL," ");
if(pch != NULL){
strcpy(piece2,pch);
printf("\n piece2 : %s \n",piece2);
}
}
strtok(str, " ")
заполняет пространство в строке с '\0'
. что делает strtok(NULL, " ")
? как он разделяет оставшиеся строки после получения первого токена.strtok функция программирования C
Per 'man strtok': * Функция strtok() анализирует строку в последовательности токенов. При первом вызове strtok() строчная строка должна быть указана на str. ** В каждом последующем вызове, который должен анализировать одну и ту же строку , str должен быть NULL. *** – lurker
Этот вопрос не соответствует теме, потому что речь идет о ложной подаче документации для OP. –
[strtok.c] (http://www.opensource.apple.com/source/Libc/Libc-166/string.subproj/strtok.c) –