Comment comparer une chaîne en C++

How Compare String C



La comparaison de chaînes est une tâche très courante pour tout langage de programmation. Il est principalement utilisé pour valider les données, comme vérifier le nom d'utilisateur et le mot de passe des informations de connexion. La comparaison de chaînes peut être effectuée à l'aide d'un opérateur de comparaison ou à l'aide de fonctions intégrées. Deux fonctions de comparaison de chaînes utilisées en C++ sont, strcmp() et comparer() . Les strcmp() est une fonction de bibliothèque de C pour comparer deux chaînes. Le c comparer () est une fonction intégrée de C++ pour comparer deux chaînes. Les moyens de comparer des chaînes à l'aide d'opérateurs et de fonctions de comparaison ont été expliqués dans ce didacticiel.

Prérequis:

Avant de vérifier les exemples de ce tutoriel, vous devez vérifier que le compilateur g++ est installé ou non dans le système. Si vous utilisez Visual Studio Code, installez les extensions nécessaires pour compiler le code source C++ afin de créer le code exécutable. Ici, l'application Visual Studio Code a été utilisée pour compiler et exécuter le code C++.







Utilisation de l'opérateur de comparaison pour comparer la chaîne :

La façon la plus courante de comparer des chaînes en C++ consiste à utiliser l'opérateur de comparaison. Ce sont des opérateurs égaux (==) et non égaux (!=). Créez un fichier C++ avec le code suivant pour comparer deux valeurs de chaîne à l'aide de l'opérateur de comparaison. Selon le code, une adresse URL sera extraite de l'utilisateur et comparée à d'autres chaînes à l'aide d'un opérateur égal (==). Si la valeur d'entrée correspond à n'importe quelle chaîne de la condition « if », alors le message spécifique sera imprimé ; sinon, le message de la partie 'autre' s'affichera.



//Inclure la bibliothèque nécessaire

#comprendre

utilisation de l'espace de noms std;

int main() {
// Déclare une variable chaîne
chaîne url_addr;
// Prend une adresse url de l'utilisateur
coutadresse_url;
// Compare la valeur d'entrée avec une autre chaîne en utilisant l'opérateur équivalent
si(adresse_url== 'Google com')
cout<<« C'est un site Web de moteur de recherche. »<<fin;
sinon(adresse_url== 'jooble.org')
cout<<« C'est un site Web de recherche d'emploi. »<<fin;
sinon(adresse_url== 'linuxhint.com')
cout<<'C'est un site de blog.'<<fin;
autre
cout<<'Aucune information n'est ajoutée pour ce site.'<<fin;

retour0;
}

Sortir:



Après avoir exécuté le code, si l'utilisateur a tapé ' linuxhint.com ' en entrée, la troisième condition 'if' sera retournée Vrai, et la sortie suivante apparaîtra.





Utilisation de la fonction compare() pour comparer la chaîne :

La fonction compare() compare deux chaînes et renvoie 0 ou 1 ou -1 en fonction du résultat correspondant de la comparaison. La signification des valeurs de retour est donnée ci-dessous.



  • La fonction renverra 0 lorsque les deux chaînes de comparaison sont égales.
  • La fonction renvoie 1 lorsque la première chaîne est supérieure à la deuxième chaîne.
  • La fonction renverra -1 lorsque la première chaîne est inférieure à la deuxième chaîne.

Syntaxe:

entierchaîne1.comparer(chaîne2)

Créez un fichier C++ avec le code suivant pour comparer deux valeurs de chaîne avec deux valeurs d'entrée à l'aide de la fonction compare (). L'authentification de tout utilisateur peut être vérifiée en comparant les valeurs soumises par les utilisateurs avec les valeurs de l'utilisateur authentifié. Ce processus d'authentification a été implémenté dans le code suivant. L'adresse e-mail et le mot de passe valides ont été stockés dans deux variables de chaîne ici. Ensuite, ces valeurs ont été comparées à l'adresse e-mail et au mot de passe pris auprès de l'utilisateur utilisant comparer () fonction. La logique ET opérateur a été utilisé dans le code pour authentifier l'utilisateur. Le message de réussite sera affiché si les deux fonctions compare() renvoient True. Sinon, le message d'échec sera imprimé.

//Inclure la bibliothèque nécessaire

#comprendre

utilisation de l'espace de noms std;

int main() {

//Initialiser deux variables de chaîne
e-mail de chaîne(' [email protégé] ');
mot de passe de chaîne('linuxhint');
//Déclarer deux variables de chaîne
chaîne user_email;
chaîne user_password;

//Prendre l'adresse e-mail de l'utilisateur
coutuser_email;

//Prendre le mot de passe de l'utilisateur
coutmot de passe de l'utilisateur;

//Vérifiez le nom d'utilisateur et le mot de passe sont valides ou invalides
si (user_email.comparer(e-mail) == 0&&mot de passe de l'utilisateur.comparer(le mot de passe) == 0 )
cout<<'Authentification réussie.'<<fin;
autre
cout<<'L'adresse e-mail ou le mot de passe n'est pas valide.'<<fin;

retour0;
}

Sortir:

Après avoir exécuté le code, si l'utilisateur a tapé ' [email protégé] « comme adresse e-mail et » 12345 ‘ comme mot de passe, la troisième condition ‘if’ sera retournée Faux, et la sortie suivante apparaîtra.

Après avoir réexécuté le code, si l'utilisateur a tapé ' [email protégé] « comme adresse e-mail et » astuce linux ‘ comme mot de passe, la troisième condition ‘if’ sera retournée Vrai, et la sortie suivante apparaîtra.

Utilisation de la fonction strcmp() pour comparer la chaîne :

Le strcmp() est une autre fonction pour comparer des chaînes en C++. Elle renvoie true si les deux chaînes de comparaison sont égales. Les paramètres d'entrée pris par cette fonction sont différents de la fonction compare(). La fonction de comparaison prend une valeur de chaîne comme paramètre et la fonction strcmp() prend le tableau de caractères comme paramètre. La syntaxe de cette fonction est donnée ci-dessous.

Syntaxe:

entier strcmp ( const carboniser *str1, const carboniser *str2);

Créez un fichier C++ avec le code suivant pour comparer deux chaînes à l'aide de la fonction strcmp(). Deux tableaux de caractères de 100 éléments ont été déclarés dans le code pour stocker les valeurs de chaîne prises par les utilisateurs. Les obtenir la ligne() La fonction est utilisée pour stocker l'entrée de l'utilisateur dans les variables du tableau de caractères. Ensuite, le strcmp() fonction a utilisé pour vérifier que les valeurs d'entrée sont égales ou non. Si la fonction retourne Vrai, alors le message de réussite sera imprimé ; sinon, le message d'échec sera imprimé,

//Inclure les bibliothèques nécessaires

#comprendre

#comprendre

utilisation de l'espace de noms std;

int main() {
//Delare deux variables de chaîne
carboniserchrData1[100],chrData2[100];

//Prendre les premières données de chaîne
cout<<'Entrez la première chaîne :';
Gin.obtenir la ligne(chrData1, 100);
//Prendre les données de la deuxième chaîne
cout<<'Entrez la deuxième chaîne :';
Gin.obtenir la ligne(chrData2, 100);

si ( strcmp (chrData1,chrData2)==0)
imprimer ('Les cordes sont égales ');
autre
imprimer ('Les cordes ne sont pas égales ');

retour0;
}

Sortir:

Après avoir exécuté le code, la valeur de chaîne, ' Bonjour ' est donné pour les deux valeurs d'entrée, et la sortie suivante apparaîtra.

Conclusion:

Trois façons de comparer des chaînes en C++ ont été montrées dans ce didacticiel en utilisant trois exemples simples. Les utilisations de l'opérateur de comparaison et les fonctions intégrées pour vérifier l'égalité des chaînes ont été décrites dans ce tutoriel pour aider les nouveaux programmeurs C++.