ich letzte Zeichen in Zeichenfolge zuerst löschen möchten, ich verwende strtok Funktion Meine Eingabe ist: "Hello World Yaho"
Ich benutze " "
als meine delimeterC in String letztes Zeichen löschen
Meine Erwartung dieses
Hell
Worl
Yah
ist
Aber die tatsächliche Ausgabe ist dies
Hello
Worl
Yaho
Wie Ith lösen kann ist ein Problem? Ich kann diese Ausgabe verstehen
dies mein Code
int main(int argc, char*argv[])
{
char *string;
char *ptr;
string = (char*)malloc(100);
puts("Input a String");
fgets(string,100,stdin);
printf("Before calling a function: %s]n", string);
ptr = strtok(string," ");
printf("%s\n", ptr);
while(ptr=strtok(NULL, " "))
{
ptr[strlen(ptr)-1]=0;
printf("%s\n", ptr);
}
return 0;
}
Das 'strtok' im while-Ausdruck sollte die letzte Anweisung im Schleifenkörper sein, und der while-Ausdruck sollte einfach' ptr! = NULL' überprüfen. – WhozCraig
http://ideone.com/6u5odn – BLUEPIXY