Heim > Artikel > Backend-Entwicklung > Die Funktion strtok_r() ist eine Funktion in der C-Sprache. Ihre Funktion besteht darin, eine Zeichenfolge in eine Reihe von Teilzeichenfolgen aufzuteilen.
Diese Funktion ähnelt der Funktion strtok(). Der einzige wesentliche Unterschied besteht in _r, einer so genannten reentrant-Funktion.
Eine wiedereintrittsfähige Funktion ist eine Funktion, die während der Ausführung unterbrochen werden kann. Diese Art von Funktion kann verwendet werden, um die Ausführung fortzusetzen.
Daher sind wiedereintretende Funktionen threadsicher, was bedeutet, dass sie sicher von Threads unterbrochen werden können, ohne Schaden zu verursachen. Die Funktion
strtok_r() verfügt über einen zusätzlichen Parameter namens context. Dadurch kann die Funktion an der richtigen Stelle wiederhergestellt werden. Die
Syntaxder Funktion strtok_r() lautet wie folgt:
#include <string.h> char *strtok_r(char *string, const char *limiter, char **context);
Das Folgende ist ein C-Programm, das die Funktion strtok_r() verwendet-
Live-Demonstration
#include <stdio.h> #include <string.h> int main(){ char input_string[] = "Hello Tutorials Point"; char token_list[20][20]; char* context = NULL; char* token = strtok_r(input_string, " ", &context); 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_r(NULL, " ", &context); } // 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; }
Wenn das oben genannte Wenn das Programm ausgeführt wird, wird das folgende Ergebnis generiert:
Token List: Hello Tutorials Point
Das obige ist der detaillierte Inhalt vonDie Funktion strtok_r() ist eine Funktion in der C-Sprache. Ihre Funktion besteht darin, eine Zeichenfolge in eine Reihe von Teilzeichenfolgen aufzuteilen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!