String-Vergleich
Teil des Abschnitts Grundlagen der C++-Journey von Coddy — Lektion 22 von 74.
In C++ kann der Vergleich von Strings auf verschiedene Arten erfolgen. Da std::string eine Klasse ist, verfügt sie über überladene Operatoren, die den String-Vergleich intuitiv und unkompliziert machen.
Die gängigste Methode, um Strings zu vergleichen, ist die Verwendung von Vergleichsoperatoren (==, !=, <, >, <=, >=):
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (beachtet Groß-/Kleinschreibung)
bool result3 = (str1 != str3); // trueSie können auch die compare()-Methode verwenden, die 0 zurückgibt, wenn die Strings gleich sind, eine negative Ganzzahl, wenn der erste String lexikographisch kleiner ist, und eine positive Ganzzahl, wenn er größer ist. Beachten Sie, dass der genaue Wert implementierungsabhängig ist – er ist nicht notwendigerweise -1 oder 1:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl;
// Positiv (b kommt nach a)
cout << str2.compare(str3) << endl;
// Negativ (b kommt vor c)
cout << str2.compare(str2) << endl;
// 0 (gleiche Strings)Spickzettel
In C++ können Sie Strings mit Vergleichsoperatoren oder der compare()-Methode vergleichen.
Verwendung von Vergleichsoperatoren:
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (beachtet Groß-/Kleinschreibung)
bool result3 = (str1 != str3); // trueVerwendung der compare()-Methode:
Gibt 0 zurück, wenn die Strings gleich sind, <0, wenn der erste String lexikographisch kleiner ist, >0, wenn er größer ist:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl; // Positiv (b kommt nach a)
cout << str2.compare(str3) << endl; // Negativ (b kommt vor c)
cout << str2.compare(str2) << endl; // 0 (gleiche Strings)Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Eingabe/Ausgabe Grundlagen
cout-Anweisungcin-AnweisungString-EingabeWiederholung - Bis 120Wiederholung - Wahr oder Falsch3Variablen Teil 2
TypdeklarationNamenskonventionenWiederholung – Variablen initialisierenType Casting Teil 1Type Casting Teil 26Entscheidungsfindung
If-AnweisungIf - ElseSwitch-AnweisungBedingter OperatorWiederholung - If ElseVerschachtelte If - Else