In C++ kann der String-Vergleich sowohl mit C-Style-Strings als auch mit der Klasse std::string effizient durchgeführt werden. Die Methoden für beide Ansätze werden im Folgenden beschrieben:
Vergleich von Zeichenfolgen im C-Stil
Zeichenfolgen im C-Stil werden mit der Funktion strcmp() der C-Bibliothek cstring verglichen. Diese Funktion vergleicht zwei Zeichenfolgen und gibt eine Ganzzahl zurück, die die lexikografische Beziehung zwischen ihnen angibt:
0: wenn beide Strings gleich sind.
Ein negativer Wert: wenn die erste Zeichenfolge lexikografisch kleiner als die zweite ist.
Ein positiver Wert: wenn die erste Zeichenfolge lexikographisch größer als die zweite ist.
#include <cstring>
#include <iostream>
int main() {
char str1[] = ""Hallo"";
char str2[] = ""Welt"";
if(strcmp(str1, str2) == 0) {
std::cout << „Die Ketten sind die gleichen.“ << std::endl;
} anders {
std::cout << „Die Ketten sind unterschiedlich.“ << std::endl;
}
0 zurückgeben;
}
Vergleich von std::string-Objekten
Die Klasse std::string überlädt Vergleichsoperatoren und ermöglicht den direkten Vergleich zweier std::string-Objekte mit Operatoren wie == , !=, < und >. Dadurch wird der String-Vergleich intuitiver und leichter lesbar:
#include <string>
#include <iostream>
int main() {
std::string str1 = ""Hallo"";
std::string str2 = ""world"";
if(str1 == str2) {
std::cout << „Die Ketten sind die gleichen.“ << std::endl;
} anders {
std::cout << „Die Ketten sind unterschiedlich.“ << std::endl;
}
0 zurückgeben;
}
Beide Methoden sind in C++ gültig, aber die Verwendung von std::string wird im Allgemeinen aufgrund seiner Einfachheit, Sicherheit und seines umfangreicheren Funktionsumfangs bevorzugt. Die Wahl zwischen dem einen oder anderen hängt von den spezifischen Anforderungen des Programms und der Kompatibilität mit vorhandenem C-Code ab.
In C++ kann der String-Vergleich sowohl mit C-Style-Strings als auch mit der Klasse
std::string
effizient durchgeführt werden. Die Methoden für beide Ansätze werden im Folgenden beschrieben:Vergleich von Zeichenfolgen im C-Stil
Zeichenfolgen im C-Stil werden mit der Funktion
strcmp()
der C-Bibliothekcstring
verglichen. Diese Funktion vergleicht zwei Zeichenfolgen und gibt eine Ganzzahl zurück, die die lexikografische Beziehung zwischen ihnen angibt:Vergleich von std::string-Objekten
Die Klasse
std::string
überlädt Vergleichsoperatoren und ermöglicht den direkten Vergleich zweierstd::string
-Objekte mit Operatoren wie==
,!=
,<
und>
. Dadurch wird der String-Vergleich intuitiver und leichter lesbar:Beide Methoden sind in C++ gültig, aber die Verwendung von
std::string
wird im Allgemeinen aufgrund seiner Einfachheit, Sicherheit und seines umfangreicheren Funktionsumfangs bevorzugt. Die Wahl zwischen dem einen oder anderen hängt von den spezifischen Anforderungen des Programms und der Kompatibilität mit vorhandenem C-Code ab.