Comparaison de chaînes
Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 22 sur 74.
En C++, la comparaison de chaînes de caractères peut se faire de plusieurs manières. Puisque std::string est une classe, elle possède des opérateurs surchargés qui rendent la comparaison de chaînes intuitive et simple.
La manière la plus courante de comparer des chaînes de caractères est d'utiliser des opérateurs de comparaison (==, !=, <, >, <=, >=) :
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (sensible à la casse)
bool result3 = (str1 != str3); // trueVous pouvez également utiliser la méthode compare(), qui renvoie 0 si les chaînes sont égales, un entier négatif si la première chaîne est lexicographiquement plus petite, et un entier positif si elle est plus grande. Notez que la valeur exacte dépend de l'implémentation — elle n'est pas nécessairement -1 ou 1 :
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl;
// Positif (b vient après a)
cout << str2.compare(str3) << endl;
// Négatif (b vient avant c)
cout << str2.compare(str2) << endl;
// 0 (chaînes égales)Aide-mémoire
En C++, vous pouvez comparer des chaînes de caractères en utilisant des opérateurs de comparaison ou la méthode compare().
Utilisation des opérateurs de comparaison :
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // vrai
bool result2 = (str1 == str3); // faux (sensible à la casse)
bool result3 = (str1 != str3); // vraiUtilisation de la méthode compare() :
Retourne 0 si les chaînes sont égales, <0 si la première chaîne est lexicographiquement plus petite, >0 si elle est plus grande :
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl; // Positif (b vient après a)
cout << str2.compare(str3) << endl; // Négatif (b vient avant c)
cout << str2.compare(str2) << endl; // 0 (chaînes égales)Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriqués