Heim >Backend-Entwicklung >C++ >Was ist die Funktion strtok() in der Sprache C?

Was ist die Funktion strtok() in der Sprache C?

王林
王林nach vorne
2023-08-28 23:29:061611Durchsuche

Die Funktion

Was ist die Funktion strtok() in der Sprache C?

strtok() ist Teil der Headerdatei ein Trennzeichen Zeichenbegrenzer. strtok() teilt die Zeichenfolge basierend auf dem Trennzeichen in Token auf.

Wir können davon ausgehen, dass wir von strtok() eine Liste mit Zeichenfolgen erhalten. Allerdings gibt die Funktion eine separate Zeichenfolge zurück, da sie nach dem Aufruf von strtok(input, limiter) das erste Token zurückgibt.

Aber wir müssen die Funktion immer wieder für eine leere Eingabezeichenfolge aufrufen, bis wir NULL erhalten!

Normalerweise würden wir strtok(NULL, delim) so lange aufrufen, bis es NULL zurückgibt.

Beispiel

Das Folgende ist ein Beispiel für die Funktion strtok()

aus einem C-Programm:

Online-Demo

char* strtok(char* string, const char* limiter);
Ausgabe

Wenn das obige Programm ausgeführt wird, erzeugt es das folgende Ergebnis: -

#include <stdio.h>
#include <string.h>
int main() {
   char input_string[] = "Hello Tutorials Point!";
   char token_list[20][20];
   char* token = strtok(input_string, " ");
   int num_tokens = 0; // Index to token list. We will append to the list
   while (token != NULL) {
      strcpy(token_list[num_tokens], token); // Copy to token list
      num_tokens++;
      token = strtok(NULL, " "); // Get the next token. Notice that input=NULL now!
   }
   // Print the list of tokens
   printf("Token List:</p><p>");
   for (int i=0; i < num_tokens; i++) {
      printf("%s</p><p>", token_list[i]);
   }
   return 0;
}

The Die Eingabezeichenfolge lautet „Hello Tutorials Point“. Wir versuchen, Wörter nach Leerzeichen zu segmentieren.

Wir erhalten das erste Token, indem wir strtok(input, " ") verwenden. Hier sind die doppelten Anführungszeichen das Trennzeichen, bei dem es sich um eine einzelne Zeichenfolge handelt!

Danach holen wir das Tag weiter, indem wir strtok(NULL, " ") verwenden und eine Schleife ausführen, bis wir NULL von strtok() erhalten.

Das obige ist der detaillierte Inhalt vonWas ist die Funktion strtok() in der Sprache C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen