Warum ist strtok verändert seine Eingaben wie folgt?

Ok, so verstehe ich, dass strtok verändert den Eingabe-argument, aber in diesem Fall, er stürzt hinunter, den input-string in nur das erste token. Warum ist das passiert und was kann ich tun, um es zu beheben? (Bitte beachten, ich Rede nicht über die variable "temp", die sollte das erste token, sondern die variable "input", die nach einem Aufruf von strtok wird "dies")

#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"
}
InformationsquelleAutor user1209326 | 2012-02-23
Schreibe einen Kommentar