Strncmp c ++

Strncmp c ++
Les cordes sont la partie principale de la langue C ++ car elle contient beaucoup de fonctions intégrées pour effectuer des tâches spécifiques sur ces cordes. Vous pouvez créer des sous-chaînes, vérifier leurs tailles et les relier les uns aux autres. La comparaison des cordes est le concept le plus utilisé en C++. Pour ce faire, C ++ est venu avec Strncmp (). Il est assez facile à utiliser avec les instructions IF-Else dans le code. Par conséquent, nous discuterons de son travail dans Ubuntu 20.04 Système. Commençons par la génération de fichiers C ++ avec des instructions tactiles sur le shell et ouvrez-la avec le mot-clé «Nano».

Exemple 01:

Commençons par le premier exemple pour utiliser la fonction strncmp (). Le code a été démarré avec l'inclusion de la bibliothèque C ++. Les bibliothèques d'en-tête que nous avons incluses sont «iOStream» et «String.h ”pour l'utilisation du flux d'entrée-sortie et des fonctions de chaîne directement dans le code. L'espace de noms C ++ «STD» est nécessaire pour ajouter dans le code pour utiliser les instructions «CIN» et «COUT». Tout le code a été fait dans la fonction principale (). Nous l'avons donc commencé avec la déclaration et l'initialisation des variables de chaîne de type à deux caractères de taille 30, i.e. S1 et S3. Les deux fichiers contiennent les valeurs de type de chaîne, je.e. la moitié et la moitié différente. La fonction strncmp () a été appelée pour comparer les deux variables S1 et S2.

Cet appel de fonction a utilisé à la fois les variables S1 et S2 dans les arguments et le nombre d'éléments que nous voulons comparer, i.e. 9. Le nombre de caractères égaux pour les deux chaînes renvoyés par la fonction strncmp () sera enregistré dans la variable entière «i». Voici l'instruction «if-else» pour vérifier si le nombre retourné de caractères égaux est nul, moins de 0 ou supérieur à 0. Si le nombre «i» est égal à zéro, l'instruction COUT affichera la sortie égale de chaîne. Cela signifie qu'il n'y a pas de caractères inégalés jusqu'à présent. Sinon, l'instruction «cout» else affichera que les chaînes ne sont pas égales.

Après cette compilation de code avec G ++ et l'exécution avec le «./un.Out ”Command, nous avons le résultat comme montrant que les deux chaînes sont égales aux 9 premiers caractères de chacun.

Changeons le nombre de caractères à comparer entre les deux chaînes. Donc, nous utilisons le même morceau de code pour C++. Nous avons mis à jour la fonction strncmp () ici en remplaçant son troisième argument. Nous avons remplacé 9 par 14 pour comparer le total des 14 premiers caractères des deux cordes.

Après la compilation et l'exécution du code mis à jour, nous avons obtenu la sortie ci-dessous illustrée. Comme la chaîne 1 est différente de la chaîne 2, son 10e Affiche le caractère que les deux cordes ne sont pas égales après les 9 premiers caractères.

Exemple 02:

Jetons un coup d'œil à un autre exemple de la fonction strncmp () fonctionnant sur différents types de chaînes. Cette fois, nous allons jeter un coup d'œil à deux cordes de type caractéristique avec des cas différents. Nous avons donc commencé cet exemple avec les mêmes en-têtes et espace de noms de C ++ avant l'implémentation de la fonction principale (). Dans la méthode Main (), 2 chaînes de type de caractères ont été initialisées avec des valeurs de chaîne; Les deux sont les mêmes dans les caractères mais différents dans les cas de type, je.e. plus haut et plus bas. La méthode strncmp () a été appelée pour vérifier si les deux chaînes sont égales aux 5 premiers caractères. La déclaration «if-else» fonctionnera en conséquence, je.e. égal ou pas égal. Enregistrons et exécutons ce code pour voir que la mise à jour fonctionne correctement ou non.

Nous avons d'abord compilé ce code et l'avons exécuté après cela. En retour, nous avons que les cordes ne sont pas égales. Cela prouve que la fonction strncmp () renvoie 0 si et seulement si les deux chaînes sont les mêmes dans les caractères et les cas de type. Sinon, il renverra une valeur inférieure ou égale à 0.

Par conséquent, nous avons mis à jour les valeurs de chaîne dans le code avec les mêmes cas et caractères de type. Après l'initialisation de la chaîne, nous avons appelé la méthode strncmp () pour comparer à la fois la chaîne jusqu'au dernier caractère. Nous avons ajouté la déclaration «IF-Else» imbriquée ici pour vérifier plus d'une condition. Si la valeur de retour est égale à 0, il renverra que les chaînes sont égales avec l'affichage de la valeur renvoyée. Sinon, si la valeur de comparaison renvoyée est supérieure ou inférieure à 0, elle agira en conséquence et affichera cette valeur retournée particulière.

Après la compilation et l'exécution de ce code mis à jour, nous avons reçu le message «Strings Are Egal» et la valeur renvoyée, I.e. 0.

Exemple 03:

Nous avons fait avec tous les exemples utilisant la fonction strncmp () pour voir si deux chaînes sont égales ou non. Nous examinerons la fonction Strncmp () un peu différemment cette fois. Nous utiliserons une grande chaîne et une petite chaîne dans le code. Donc, nous avons commencé notre exemple avec l'iOStream et la chaîne.Bibliothèques d'en-tête H utilisant le mot-clé «#include» avec les deux. Après avoir ajouté l'espace de noms, nous avons commencé la fonction principale () avec deux variables de chaîne Initialisation.

La chaîne S1 contient plus de 5 caractères et la chaîne S2 ne contient que 5. La fonction strncmp () a été exécutée avec une fonction simple appelée passant les deux variables à son argument. Le nombre de caractères à faire est défini sur 5. La fonction strncmp () comparera les deux variables et renverra le résultat particulier. Comme notre première chaîne est plus grande que les 2nd chaîne et ne correspond pas à 2nd String, donc la partie «else-if» de l'instruction pour «i> 0» sera exécutée. En retour, il affichera que «S1 est supérieur à S2» avec la valeur retournée de «I» pour plusieurs caractères incompatibles.

Après avoir exécuté ce code sur le shell, nous avons le résultat comme prévu, je.e. S1 est supérieur à S2 en revanche, la valeur de «i» est renvoyée comme «32».

Le code global de cet exemple restera le même que nous l'avons fait dans le code ci-dessus. Le seul changement que nous avons apporté ici est l'échange de valeurs de chaîne les uns avec les autres. Maintenant, la chaîne S2 est plus grande que la chaîne S1. Dans ce cas, la dernière déclaration d'autre doit être exécutée. Exécutons ce code maintenant.

Après cette compilation et l'exécution de code, nous avons vu que la partie else du code a été exécutée après l'appel de fonction strncmp (). Il montre que la première chaîne est plus petite que l'autre chaîne alors qu'aucun des caractères ne correspond exactement.

Conclusion:

Enfin, nous avons terminé l'explication de la fonction strncmp () de C ++ pour comparer deux chaînes. Nous avons discuté de la méthode strncmp () avec différents types de chaînes, je.e. L'une supérieure à l'autre en taille, même cordes et chaînes différentes. Des instructions «IF-Else» simples et imbriquées ont été utilisées jusqu'à présent pour faire en sorte que notre code vérifie différentes conditions pour les chaînes et les valeurs renvoyées par une méthode strncmp (). En raison de la simplicité de nos exemples, nous espérons que vous trouverez plus facile à apprendre et à mettre en œuvre.