Maison >développement back-end >C++ >Qu'est-ce que la fonction strtok() en langage C ?

Qu'est-ce que la fonction strtok() en langage C ?

王林
王林avant
2023-08-28 23:29:061609parcourir

La fonction

Quest-ce que la fonction strtok() en langage C ?

strtok() fait partie du fichier d'en-tête #include La syntaxe de la fonction

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.

Exemple

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;
}

Sortie

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer