Chaîne: La chaîne est un tableau de caractères. Quelques exemples de chaînes sont:
«New Delhi est capitale de l'Inde»Délimiteur: Tout caractère ou ensemble de caractères peut être considéré comme délimiteur. Si une chaîne doit être divisée en fonction de Demiter, alors Delimiter doit faire partie de la chaîne ou bien la chaîne complète sera la chaîne de sortie.
Les exemples de délimiter couramment utilisés sont: «« (espace) ,, (virgule), «\ n» (nouvelle ligne) et bien d'autres.
Fissure de la chaîne en fonction de Demiter:
Considérons un exemple de chaîne comme «Fox vit dans Woods» et Delimiter comme «« (espace), puis la chaîne se divisera en plusieurs cordes. Plusieurs cordes après la scission seront «Fox» «Lives» «dans» «Woods».
Alors maintenant, nous sommes clairs sur le concept de séparation et nous sommes également clairs maintenant sur la définition de la chaîne et du délimiteur. Procédons-nous à l'exploration de la mise en œuvre du fractionnement en C.
Fonction C standard pour la division basée sur le délimiteur:
C fournit le strtok () fonction, qui peut être utilisée pour diviser la chaîne en jetons en fonction du délimiteur sélectionné.
Prototype de fonction:
char * strtok (char * restreint Str, const char * restreint délimiter));En-tête à inclure:
#inclureC Programme pour diviser la chaîne en fonction de Delimiter à l'aide de strtok ():
#inclureC instantané du programme C:
Sortie du programme:
Maintenant, discutons de notre propre implémentation pour diviser une chaîne basée sur Demiter sans utiliser la fonction C standard (strtok ()).
Nous devons rechercher la présence de délimiteur dans la chaîne et pouvons renvoyer l'adresse du premier caractère du jeton de chaîne juste avant le délimiteur.
La fonction C pour rechercher le jeton basé sur le délimiteur peut être implémentée comme ci-dessous:
char * search_token (chaîne de char *, char * délire)Ci-dessus est la fonction de recherche pour rechercher le jeton, une fois que le jeton est trouvé un caractère avant que le jeton puisse être copié et récupéré à partir du tampon de chaîne source.
Le programme C complet avec notre implémentation ressemblera ci-dessous:
#inclureSortie du programme ci-dessus avec le même ensemble d'entrée que de la fonction C Strtok standard:
bash-4.2 $ ./un.dehorsInstantanés du programme complet:
Instantané de sortie:
Conclusion:
Jusqu'à présent, nous avons discuté du fractionnement de la chaîne en fonction de la délimitrice. Il existe déjà des moyens de bibliothèque disponibles pour le faire. La fonction de bibliothèque qui peut être utilisée pour diviser la chaîne basée sur Demiter est strtok. Nous avons pris un exemple de cas d'utilisation pour comprendre la fonction de bibliothèque strtok. Nous avons également écrit un exemple de programme pour comprendre l'utilisation de la fonction de bibliothèque.
Deuxième partie, nous avons implémenté notre propre méthode de division de la chaîne en fonction de la délimiteur. Nous avons écrit une fonction qui est comme la fonction c strtok. L'explication du fonctionnement de la fonction personnalisée a été fournie et démontrée à l'aide de la même fonction principale qui a été prise en cas de fonction de bibliothèque C. L'exemple de sortie du programme est également fourni avec l'exemple de programme.
Nous avons également parcouru le concept de fractionnement de cordes basé sur Demiter, juste pour résumer tout caractère qui est de rechercher dans la chaîne principale peut être considéré comme un jeton et peut être recherché jusqu'à ce que le jeton soit rencontré. Une fois le jeton trouvé, la chaîne avant le retour du jeton à la fonction de l'appelant.