Почему strtok изменяет свой ввод таким образом?

Хорошо, я понимаю, что strtok изменяет свой входной аргумент, но в этом случае он сворачивает входную строку только в первый токен. Почему это происходит и что я могу сделать, чтобы это исправить? (Обратите внимание, я не говорю о переменной «temp», которая должна быть первым токеном, а скорее о переменной «input», которая после одного вызова strtok становится «this»)

#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char* argv[]) {
   char input[]="this is a test of the tokenizor seven";
   char * temp;
   temp=strtok(input," ");
   printf("input: %s\n", input); //input is now just "this"
}
16
задан user1209326 23 February 2012 в 02:52
поделиться