C ++ strtok () - C ++ Standardbibliothek

Die Funktion strtok () in C ++ gibt das nächste Token in einer nullterminierten Bytezeichenfolge zurück.

strtok () Prototyp

 char * strtok (char * str, const char * delim);

Die strtok()Funktion akzeptiert zwei Argumente: str und delim. Diese Funktion findet das Token in der Zeichenfolge, auf die von zeigt strtok. Die Zeigerbegrenzung zeigt auf die Trennzeichen.

Diese Funktion kann mehrmals aufgerufen werden, um Token aus derselben Zeichenfolge abzurufen. Es gibt zwei Fälle:

  • Wenn str nicht NULL ist:
    Ein Aufruf von strtok () wird als erster Aufruf für diesen String betrachtet. Die Funktion sucht nach dem ersten Zeichen, das nicht in delim enthalten ist. Wenn kein solches Zeichen gefunden wird, enthält die Zeichenfolge kein Token. Es wird also ein Nullzeiger zurückgegeben. Wenn ein solches Zeichen gefunden wird, sucht die Funktion von da an nach einem Zeichen, das in delim vorhanden ist. Wenn kein Trennzeichen gefunden wird, hat str nur ein Token. Wenn ein Trennzeichen gefunden wird, wird es durch ' 0' ersetzt und der Zeiger auf das folgende Zeichen wird für nachfolgende Aufrufe an einem statischen Ort gespeichert. Schließlich gibt die Funktion den Zeiger auf den Anfang des Tokens zurück.
  • Wenn str NULL ist:
    Der Aufruf wird als nachfolgender Aufruf von strtok betrachtet und die Funktion wird dort fortgesetzt, wo sie beim vorherigen Aufruf verblieben ist.

Es ist in der Header-Datei "> Header-Datei definiert.

strtok () Parameter

  • str: Zeiger auf die nullterminierte Bytezeichenfolge zum Tokenisieren.
  • delim: Zeiger auf die nullterminierte Bytezeichenfolge, die die Trennzeichen enthält.

strtok () Rückgabewert

Die strtok()Funktion gibt den Zeiger auf das nächste Token zurück, falls vorhanden, oder NULL, wenn keine weiteren Token gefunden werden.

Beispiel: Funktionsweise der Funktion strtok ()

 #include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Die Token sind: Papageien-Eulen-Spatzentaubenkrähe

Interessante Beiträge...