Menu
Coddy logo textTech

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);  // true

Sie 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);  // true

Verwendung 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.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen