Bitte erklären Sie, wie die Methode strtok() funktioniert. Laut Dokumentation teilt es die Zeichenfolge in Tokens auf. Ich kann anhand des Handbuchs nicht herausfinden, was es bewirkt.
Als die erste While-Schleife begann, war der Inhalt von str einfach »this«. Ich habe Watches auf str und *pch hinzugefügt, um ihre Funktionalität zu testen. Wie erschien die folgende Ausgabe auf dem Bildschirm?Code:/* 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; }
Laut dem Artikel von scaler topics ändert strtok() seinen gelieferten String, indem es Token mit NUL beendet, bevor es zurückkehrt. Wenn ich versuche, den gesamten Puffer (str[]) zu inspizieren, wird er zwischen strtok-Aufrufen () aktualisiert. Ist das richtig? Könnte mir bitte jemand helfen?Code:Splitting string "- This, a sample string." into tokens: This a sample string







Zitieren

Lesezeichen