Fonction StrcasecMP en C

Fonction StrcasecMP en C

Les fonctions StrcasecMP permettent la comparaison entre les deux chaînes. Cette fonction de comparaison de cas n'est pas sensible aux lettres minuscules ou majuscules ou les alphabets dans les chaînes car cette fonction convertit d'abord les caractères de la chaîne en minuscules puis les compare. La comparaison se fait toujours entre les chaînes qui se terminent à un caractère nul, e.g. "/ 0". StrcasecMP commence à comparer les deux chaînes différentes avec le premier caractère des deux cordes. Cette comparaison se termine à un caractère nul qui indique que la chaîne s'est terminée. Cette fonction renvoie certaines valeurs comme sa valeur de retour après la comparaison. Ces valeurs de retour sont représentées comme inférieures à zéro, ce qui signifie que la première chaîne est plus petite que la seconde. L'égal à «0» ou «0» montre que les deux chaînes sont égales et plus de zéro, ce qui signifie que la première chaîne est plus / supérieure à la seconde.

Procédure

Nous parlerons des méthodes pour comparer les deux chaînes différentes de différentes tailles en utilisant la méthode strcascmp (). Nous explorerons la méthode de déclaration pour cette fonction et apprendre où nous pouvons utiliser cette fonction. Pour obtenir la main avec cette fonction, nous résoudrons quelques exemples qui utilisent la méthode de comparaison de cas de chaîne.

Syntaxe

La méthode pour la déclaration de strcascmpMP () implique l'utilisation de pointeurs qui pointent vers les deux chaînes que nous voulons comparer les unes avec les autres. Nous définissons d'abord le type de retour pour cette fonction qui est «entier». Ensuite, nous nommons la fonction «strcasecmp» et définissons ses paramètres comme les pointeurs des deux cordes. Cette déclaration est représentée dans la ligne suivante comme suit:

$ Int strcasecmp (char * string_1, char * str_2)

Exemple 1

Cet exemple utilise l'explication mentionnée précédemment de la fonction strcascmpMp () pour comparer les chaînes. Pour commencer par la méthode de comparaison, nous exécutons l'exemple dans le C Microsoft Visual Studio Compiler. Notre première étape serait de créer un nouveau projet pour C. Et puis, nous incluons les bibliothèques requises des fondamentaux C pour lire ou écrire les entrées et sorties du programme. De plus, puisque nous avons affaire aux chaînes de cet article, nous importons également le fichier d'en-tête qui nous permet d'utiliser les fonctions liées à la chaîne dans le programme. Nous n'importons que deux de l'en-tête ".Fichiers H ”suivant les commandes:

$ # Inclure
$ # Inclure

Suivant l'exemple de cette étape, nous commençons maintenant par la création du programme pour la fonction Strcasecmp (). Pour ce faire, nous déclarons les deux chaînes avec le type de données comme «char». Nous pouvons nommer ces chaînes «String_1» et «String_2», respectivement. Nous initialisons ces chaînes avec quelques valeurs aléatoires sous forme de «chaises» sur string_1 et «chaises» sur string_2. Après cette affectation des valeurs aux chaînes, nous définissons les pointeurs pour ces deux chaînes avec le type de données «char» et initialisons une variable comme «comparer le résultat» qui a le type de données «entier».

À cette variable, nous attribuons la fonction strCasecmp () qui a les string_1 et string_2 comme arguments d'entrée. Ensuite, nous impliquons les conditions «si else» à cette variable de résultat, que si le résultat est égal à «0», l'impression «les cordes sont égales». Si le résultat est «inférieur à 0», l'affichage «String_1 est inférieur à String_2» ou «String_1 est supérieur à String_2» et renvoie la valeur égale à 0 à la fonction principale. Nous essayons de réécrire l'explication que nous avons mentionnée par exemple le numéro 1 sous la forme du programme en utilisant la langue C dans la figure suivante:

#inclure
#inclure
int Main (vide)
char * string_1 = "chaises";
char * string_2 = "chaises";
int compare_result;
compare_result = strCasecmp (string_1, string_2);
if (compare_result == 0)
printf ("Strings égaux.\ n ");
else if (compare_result < 0)
printf (""% s "string1 est inférieur à String2"% s ".\ n ", string_1, string_2);
autre
printf (""% s "string1 est supérieur à String2"% s ".\ n ", string_1, string_2);
retour 0;

Les résultats de la comparaison que nous avons faits pour les deux chaînes 1 et 2 sont sortis. La sortie affiche que les chaînes sont égales, ce qui est la bonne estimation car les chaînes que nous avons comparées étaient les mêmes.

Exemple 2

Dans le deuxième exemple, nous exécutons un code pour la comparaison des deux chaînes pour lesquelles nous prenons les valeurs, de l'utilisateur, ce qui signifie que nous prenons les valeurs de deux chaînes de l'utilisateur et imprimons le résultat de sa comparaison. Nous importons les fichiers d'en-tête pour les fonctions de chaîne et l'affichage de sortie et la lecture d'entrée comme «String. h ”et« stdio. h ”, respectivement. Pour commencer le codage, nous déclarons les chaînes (deux) ayant la taille des données comme «50» et le type de données «char».

Pour initialiser ces chaînes, nous prenons les entrées de l'utilisateur en appelant la méthode «scanf ()» et passons le spécificateur de format «% s» et le nom des chaînes. Nous stockons le résultat de comparaison des deux chaînes définies par l'utilisateur dans une variable «compare_result» et imposent une «instruction if» que si le résultat est égal à zéro, les «chaînes sont égales». Sinon, ils ne sont «pas égaux». Si la déclaration est vraie, nous imprimons les «chaînes égales». Dans le cas où la déclaration se trompe, le programme imprime «pas égal». Le programme quitte ensuite la fonction principale en renvoyant le zéro comme valeur de retour. Nous avons joint un extrait de code suivant pour l'implémentation de cet exemple:

#inclure
#inclure
int Main (vide)

char String_1 [50];
char String_2 [50];
printf ("Entrée String_1");
scanf ("% s", string_1);
printf ("Entrée String_2");
scanf ("% s", string_2);
int compare_result;
compare_result = strCasecmp (string_1, string_2);
if (compare_result == 0)
printf ("Égalité des chaînes");
autre
printf ("pas égal");
retour 0;

Les deux chaînes définies par l'utilisateur étaient des «chaises» et «table», respectivement. Le résultat de la comparaison est apparu «pas égal», ce qui est correct car les deux chaînes comparées dans le programme n'étaient pas égales. Nous pouvons également appliquer les conditions pour la plus grande et inférieure à un résultat de comparaison.

Conclusion

L'utilisation de la fonction de comparaison de chaînes est très courante dans presque toutes les applications écrites dans n'importe quel langage de programmation. Nous avons discuté de l'utilisation de la fonction strcasecmp () dans cet article pour la langue C. Cette fonction de comparaison prend la comparaison entre les deux chaînes et cette fonction est insensible aux lettres minuscules et majuscules. Nous avons implémenté cette fonction de comparaison de chaînes pour les deux chaînes définies dans le programme et les chaînes définies par l'utilisateur en appelant la méthode Scanf ().