Maison  >  Article  >  développement back-end  >  La fonction strtok_r() est une fonction en langage C. Sa fonction est de diviser une chaîne en une série de sous-chaînes.

La fonction strtok_r() est une fonction en langage C. Sa fonction est de diviser une chaîne en une série de sous-chaînes.

王林
王林avant
2023-08-26 09:45:112080parcourir

La fonction strtok_r() est une fonction en langage C. Sa fonction est de diviser une chaîne en une série de sous-chaînes.

Cette fonction est similaire à la fonction strtok(). La seule différence clé est _r, qui est appelée fonction réentrante.

Une fonction réentrante est une fonction qui peut être interrompue lors de l'exécution. Ce type de fonction peut être utilisé pour reprendre l'exécution.

Ainsi, les fonctions réentrantes sont thread-safe, ce qui signifie qu'elles peuvent être interrompues en toute sécurité par les threads sans causer de dommages. La fonction

strtok_r() a un paramètre supplémentaire appelé contexte. De cette façon, la fonction peut être restaurée au bon endroit. La

syntaxe

de la fonction strtok_r() est la suivante :

#include <string.h>
char *strtok_r(char *string, const char *limiter, char **context);

Exemple

Ce qui suit est un programme C utilisant la fonction strtok_r()-

Démonstration en direct

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

Sortie

Quand ce qui précède le programme est exécuté, les éléments suivants seront générés Résultat-

Token List:
Hello
Tutorials
Point

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
Article précédent:numéros de tempêteArticle suivant:numéros de tempête