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 ?

王林
Libérer: 2023-08-28 23:29:06
avant
1578 Les gens l'ont consulté

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);
Copier après la connexion

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;
}
Copier après la connexion

Sortie

Lorsque le programme ci-dessus est exécuté, il produit les résultats suivants −

Token List:
Hello
Tutorials
Point!
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal