So vergleichen Sie Strings in C++

How Compare String C



Das Vergleichen von Strings ist eine sehr häufige Aufgabe für jede Programmiersprache. Es wird hauptsächlich zur Validierung der Daten verwendet, z. B. zur Überprüfung des Benutzernamens und des Passworts der Anmeldeinformationen. Der Zeichenfolgenvergleich kann mithilfe eines Vergleichsoperators oder mithilfe integrierter Funktionen erfolgen. Zwei in C++ verwendete Zeichenfolgenvergleichsfunktionen sind: strcmp() und vergleichen() . Die strcmp() ist eine Bibliotheksfunktion von C, um zwei Strings zu vergleichen. Die c vergleichen () ist eine eingebaute Funktion von C++, um zwei Strings zu vergleichen. In diesem Tutorial wurden die Möglichkeiten zum Vergleichen von Zeichenfolgen mithilfe von Vergleichsoperatoren und -funktionen erläutert.

Voraussetzung:

Bevor Sie die Beispiele dieses Tutorials überprüfen, müssen Sie überprüfen, ob der g++-Compiler im System installiert ist oder nicht. Wenn Sie Visual Studio Code verwenden, installieren Sie die erforderlichen Erweiterungen, um den C++-Quellcode zu kompilieren, um den ausführbaren Code zu erstellen. Hier wurde die Visual Studio Code-Anwendung verwendet, um den C++-Code zu kompilieren und auszuführen.







Verwenden des Vergleichsoperators zum Vergleichen von Zeichenfolgen:

Die gebräuchlichste Methode zum Vergleichen von Zeichenfolgen in C++ ist die Verwendung des Vergleichsoperators. Dies sind gleich (==) und nicht gleich (!=) Operatoren. Erstellen Sie eine C++-Datei mit dem folgenden Code, um zwei Zeichenfolgenwerte mit dem Vergleichsoperator zu vergleichen. Dem Code zufolge wird dem Benutzer eine URL-Adresse entnommen und mit einem Gleichheitsoperator (==) mit anderen Strings verglichen. Wenn der Eingabewert mit einer beliebigen Zeichenfolge der 'if'-Bedingung übereinstimmt, wird die spezifische Nachricht gedruckt; andernfalls wird die Meldung des „sonst“-Teils angezeigt.



//Notwendige Bibliothek einschließen

#enthalten

usingnamespace std;

intmain() {
// Eine String-Variable deklarieren
Zeichenfolge url_addr;
// Eine URL-Adresse vom Benutzer nehmen
KostenURL_Adresse;
// Vergleiche den Eingabewert mit einem anderen String unter Verwendung des entsprechenden Operators
wenn(URL_Adresse== 'Googlecom')
Kosten<<'Es ist eine Suchmaschine wensite.'<<endl;
sonst(URL_Adresse== 'jooble.org')
Kosten<<'Es ist eine Jobsuche-Website.'<<endl;
sonst(URL_Adresse== 'linuxhint.com')
Kosten<<'Es ist eine Blog-Website.'<<endl;
anders
Kosten<<'Für diese Site wurden keine Informationen hinzugefügt.'<<endl;

zurück0;
}

Ausgabe:



Wenn der Benutzer nach der Ausführung des Codes ' linuxhint.com ‘ als Eingabe wird die dritte ‘if’-Bedingung zurückgegeben Wahr, und die folgende Ausgabe erscheint.





Verwenden der Funktion Compare() zum Vergleichen der Zeichenfolge:

Die Funktion Compare() vergleicht zwei Zeichenfolgen und gibt 0 oder 1 oder -1 basierend auf dem übereinstimmenden Ergebnis des Vergleichs zurück. Die Bedeutung der Rückgabewerte ist unten angegeben.



  • Die Funktion gibt 0 zurück, wenn beide vergleichenden Strings gleich sind.
  • Die Funktion gibt 1 zurück, wenn die erste Zeichenfolge größer als die zweite Zeichenfolge ist.
  • Die Funktion gibt -1 zurück, wenn die erste Zeichenfolge kleiner als die zweite Zeichenfolge ist.

Syntax:

intZeichenfolge1.vergleichen(Schnur2)

Erstellen Sie eine C++-Datei mit dem folgenden Code, um zwei Zeichenfolgenwerte mit zwei Eingabewerten mithilfe der Funktion Compare() zu vergleichen. Die Authentifizierung eines beliebigen Benutzers kann überprüft werden, indem die von den Benutzern übermittelten Werte mit den Werten des authentifizierten Benutzers verglichen werden. Dieser Authentifizierungsprozess wurde im folgenden Code implementiert. Die gültige E-Mail-Adresse und das Passwort wurden hier in zwei String-Variablen gespeichert. Als nächstes wurden diese Werte mit der E-Mail-Adresse und dem Passwort des Benutzers mit verglichen vergleichen () Funktion. Die logische UND Operator wurde im Code verwendet, um den Benutzer zu authentifizieren. Die Erfolgsmeldung wird ausgegeben, wenn beide Compare()-Funktionen True zurückgeben. Andernfalls wird die Fehlermeldung gedruckt.

//Notwendige Bibliothek einschließen

#enthalten

usingnamespace std;

intmain() {

//Initialisieren Sie zwei String-Variablen
String-E-Mail(' [E-Mail geschützt] ');
String-Passwort('Linuxhint');
//Zwei String-Variablen deklarieren
Zeichenfolge user_email;
Zeichenfolge user_password;

//Die E-Mail-Adresse des Benutzers nehmen
KostenBenutzer Email;

//Das Passwort vom Benutzer nehmen
KostenBenutzer-Passwort;

// Überprüfen Sie den Benutzernamen und das Passwort sind gültig oder ungültig
wenn (Benutzer Email.vergleichen(Email) == 0&&Benutzer-Passwort.vergleichen(Passwort) == 0 )
Kosten<<'Authentifizierung erfolgreich.'<<endl;
anders
Kosten<<'E-Mail oder Passwort ist ungültig.'<<endl;

zurück0;
}

Ausgabe:

Wenn der Benutzer nach der Ausführung des Codes ' [E-Mail geschützt] ‘ als E-Mail-Adresse und ‘ 12345 ‘ als Passwort, wird die dritte ‘if’-Bedingung zurückgegeben Falsch, und die folgende Ausgabe erscheint.

Nachdem der Code erneut ausgeführt wurde, wenn der Benutzer ' [E-Mail geschützt] ‘ als E-Mail-Adresse und ‘ linuxhint ‘ als Passwort, wird die dritte ‘if’-Bedingung zurückgegeben Wahr, und die folgende Ausgabe erscheint.

Verwenden der Funktion strcmp() zum Vergleichen von Strings:

strcmp() ist eine weitere Funktion zum Vergleichen von Strings in C++. Es gibt true zurück, wenn beide vergleichenden Strings gleich sind. Die von dieser Funktion verwendeten Eingabeparameter unterscheiden sich von der Funktion Compare(). Die Vergleichsfunktion verwendet einen Zeichenfolgenwert als Parameter, und die Funktion strcmp() verwendet das char-Array als Parameter. Die Syntax dieser Funktion ist unten angegeben.

Syntax:

int strcmp ( const verkohlen *str1, const verkohlen *str2);

Erstellen Sie eine C++-Datei mit dem folgenden Code, um zwei Strings mit der Funktion strcmp() zu vergleichen. Im Code wurden zwei Zeichenarrays mit 100 Elementen deklariert, um die von den Benutzern übernommenen Zeichenfolgenwerte zu speichern. Die getline() -Funktion wird verwendet, um die Eingaben des Benutzers in die char-Array-Variablen zu speichern. Als nächstes die strcmp() Funktion verwendet hat, um zu überprüfen, ob die Eingabewerte gleich sind oder nicht. Wenn die Funktion zurückkehrt Wahr, dann wird die Erfolgsmeldung gedruckt; andernfalls wird die Fehlermeldung gedruckt,

//Notwendige Bibliotheken einbeziehen

#enthalten

#enthalten

usingnamespace std;

intmain() {
//Delare zwei String-Variablen
verkohlenchrData1[100],chrData2[100];

//Nehmen Sie die ersten String-Daten
Kosten<<'Geben Sie die erste Zeichenfolge ein:';
Gin.Getline(chrData1, 100);
//Nehmen Sie die zweiten String-Daten
Kosten<<'Geben Sie die zweite Zeichenfolge ein:';
Gin.Getline(chrData2, 100);

wenn ( strcmp (chrData1,chrData2)==0)
druckenf ('Die Saiten sind gleich ');
anders
druckenf ('Die Saiten sind nicht gleich ');

zurück0;
}

Ausgabe:

Nach der Ausführung des Codes wird der Zeichenfolgenwert ‘ Hallo ‘ wird für beide Eingabewerte angegeben und die folgende Ausgabe erscheint.

Abschluss:

In diesem Tutorial wurden drei Möglichkeiten zum Vergleichen von Strings in C++ anhand von drei einfachen Beispielen gezeigt. Sowohl die Verwendung des Vergleichsoperators als auch die eingebauten Funktionen zum Prüfen der Gleichheit der Strings wurden in diesem Tutorial beschrieben, um den neuen C++-Programmierern zu helfen.