Notions de base de fonctions de chaîne pour la programmation de c

En dépit de sa classification de type nonvariable, la bibliothèque de programmation C ne lésine pas sur les fonctions qui manipulent les chaînes. Juste au sujet de tout ce que vous désirez faire avec une chaîne peut être fait en utilisant certaines des nombreuses fonctions de chaîne. Et quand ces fonctions sont loin, vous pouvez écrire votre propre.

Sommaire

Introduction aux fonctions de chaîne

Voici quelques-unes des fonctions de la bibliothèque du langage C qui manipulent ou des chaînes d'abus:

FonctionCe qu'il fait
strcmp ()Compare deux chaînes de manière sensible à la casse. Si le stringsmatch, la fonction retourne 0.
strncmp ()Compare les n premiers caractères de deux chaînes, de retour 0 si Ie nombre de caractères rencontre donnée.
strcasecmp ()Compare deux chaînes, en ignorant les différences de casse. Si le stringsmatch, la fonction retourne 0.
strncasecmp ()Compare un nombre spécifique de caractères entre deux chaînes, en ignorant les différences de casse. Si le nombre de caractères correspond, theFunction renvoie 0.
strcat ()Ajoute une chaîne à une autre, créant une chaîne unique sur deAppartement.
strncat ()Ajoute un nombre donné de caractères d'une chaîne à la finde l'autre.
strchr ()Recherches pour un caractère dans une chaîne. La position du caractère returnsthat de fonction depuis le début de la chaîne comme aPointeur.
strrchr ()Recherches pour un caractère dans une chaîne, mais en sens inverse. TheFunction retourne la position du caractère à partir de la fin de LaChaîne comme un pointeur.
strstr ()Recherches pour une corde à l'intérieur une autre chaîne. Les functionreturns un pointeur à l'emplacement de la chaîne si it'sfound.
strnstr ()Recherches pour une chaîne dans les n premiers caractères de la chaîne. Thesecond La fonction retourne un pointeur vers la string'slocation si elle se trouve.
strcpy ()Copies (doublons) d'une corde à l'autre.
strncpy ()Copie un nombre spécifique de caractères d'une toanother de chaîne.
strlen ()Retourne la longueur d'une chaîne, sans compter le 0 ou NULLcharacter à la fin de la chaîne.

Plus de fonctions de chaîne sont disponibles. Beaucoup d'entre eux font des choses spécifiques qui nécessitent une compréhension plus profonde de C. Ceux indiqués sont les plus communs.

Toutes ces fonctions de chaîne nécessitent le fichier d'en-tête string.h être inclus avec votre code source:

#comprendre 

Sur un système Unix, vous pouvez passer en revue toutes les fonctions de chaîne en tapant la commande chaîne de l'homme dans une fenêtre de terminal.

Texte de fonctions de chaîne

Les chaînes sont comparées en utilisant la fonction strcmp () et toutes ses cousines: strncmp (), strcasecmp (), et strncasecmp ().




Les fonctions chaîne de comparaison de retour d'une valeur d'int sur la base du résultat de la comparaison: 0 lorsque les chaînes sont égales, ou une valeur entière supérieure ou inférieure en fonction de si la valeur de la première chaîne est supérieur (plus élevée dans l'alphabet) ou moins que (inférieure dans l'alphabet) la deuxième chaîne. La plupart du temps, vous venez de chèque de 0.

Let Me In utilise la fonction strcmp () à la ligne 13 pour comparer le mot de passe de chaîne initialisée avec ce texte est lu à la ligne 11, qui est stocké dans le tableau d'entrée. Le résultat de cette opération est stocké dans la rencontre variable, qui est utilisé dans un arbre de décision si-else à la ligne 14 pour afficher les résultats.

LAISSE MOI ENTRER

#include #include int main () {mot de passe de char [] = entrée -char "taco" [15] -int match printf ("Mot de passe:») -scanf ("% s", entrée) -match = strcmp (entrée , mot de passe) -Si (Match == 0) puts ("Mot de passe accepté") - ". mot de passe invalide alerter les autorités." de elseputs () - retour (0) -}

Exercice 1: Tapez le code source de Let Me In dans votre éditeur. Essayez le programme à quelques reprises pour s'assurer qu'il accepte seulement des tacos que le bon mot de passe.

Exercice 2: Éliminer la rencontre variable à partir de votre code dans l'exercice 13-7 et utiliser la fonction strcmp () directement dans le cas comparaison. Voilà la façon dont la plupart des programmeurs le font.

Exercice 3: Ratchet bas la sécurité d'un cran en remplaçant la fonction strcmp () avec strcasecmp (). Exécutez le programme pour confirmer que les deux taco et TACO sont acceptés comme le mot de passe.

Comment construire cordes

La colle qui colle une corde sur l'extrémité d'un autre est la fonction strcat (). Le terme chat est l'abréviation de concaténer, ce qui signifie pour relier ensemble. Voici comment cela fonctionne:

strcat (premier, deuxième) -

Après exécution de cette instruction, le texte de la deuxième chaîne est ajoutée à la première chaîne. Ou vous pouvez utiliser des valeurs immédiates:

strcat (gérondif, "ing") -

Cette déclaration vire le texte ment sur la fin du tableau de texte gérondif.

Le code dans Introductions déclare deux tableaux char en contenir du texte. Tableau est d'abord deux fois plus grand que la dernière rangée, car il est l'endroit où le contenu de la deuxième chaîne est copiée. La reproduction a lieu à la ligne 13 avec la fonction strcat ().

INTRODUCTIONS

#include #include int main () {char premier [40] -char dernière [20] -printf ("Quel est votre prénom?") -scanf ("% s", en premier) -printf ("Quelle est votre dernière nom ") -scanf ("% s ", dernier) -strcat (premier, dernier) -printf (« Ravi de vous rencontrer,% s n ", en premier) -retour (0) -?!}

Exercice 4: Créer un nouveau programme en utilisant le code source d'introductions. Exécutez le programme. Tapez dans vos noms et prénoms, puis faire l'exercice 5.

Exercice 5: Modifier votre code source de sorte qu'un seul espace est enchaîné à la première chaîne avant la dernière chaîne est enchaîné.


» » » » Notions de base de fonctions de chaîne pour la programmation de c