Maison >développement back-end >C++ >Qu'est-ce que la fonction strtok() en langage C ?
La fonction
strtok() fait partie du fichier d'en-tête
strtok() est la suivante −
char* strtok(char* string, const char* limiter);
Entrez une chaîne et un délimiteur Limiteur de caractères. strtok() divisera la chaîne en jetons en fonction du caractère délimitant.
Nous pouvons nous attendre à obtenir une liste de chaînes de strtok(). Cependant, la fonction renvoie une chaîne distincte car après avoir appelé strtok(input, limiter), elle renvoie le premier jeton.
Mais nous devons appeler la fonction sur une chaîne d'entrée vide encore et encore jusqu'à obtenir NULL !
Normalement, nous continuerions à appeler strtok(NULL, delim) jusqu'à ce qu'il renvoie NULL.Ce qui suit est un exemple de la fonction strtok() d'un programme C :
Démo en ligne
#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; }
Lorsque le programme ci-dessus est exécuté, il produit les résultats suivants −
Token List: Hello Tutorials Point!
Le La chaîne d'entrée est "Bonjour Tutorials Point", nous essayons de segmenter les mots par des espaces.
Nous obtenons le premier jeton en utilisant strtok(input, " "). Ici, les guillemets doubles sont le délimiteur, qui est une chaîne de caractères unique !
Après cela, nous continuons à obtenir la balise en utilisant strtok(NULL, " ") et en boucle jusqu'à ce que nous obtenions NULL de strtok().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!