logo

Verschiedene Möglichkeiten zum Vergleichen von Zeichenfolgen in C++

In diesem Abschnitt werden die verschiedenen Möglichkeiten zum Vergleichen der angegebenen Zeichenfolgen in der Programmiersprache C++ erläutert. Der Vergleich der Zeichenfolge bestimmt, ob die erste Zeichenfolge einer anderen Zeichenfolge entspricht oder nicht. Beispiel: HELLO und Hello sind zwei verschiedene Zeichenfolgen.

Verschiedene Möglichkeiten zum Vergleichen von Zeichenfolgen in C++

Es gibt verschiedene Möglichkeiten, die Zeichenfolgen in der Programmiersprache C++ zu vergleichen:

  1. Verwendung der Funktion strcmp()
  2. Verwenden der Funktion „compare()“.
  3. Verwendung eines relationalen Operators
  4. Verwendung der For-Schleife und der If-Anweisung
  5. Verwendung einer benutzerdefinierten Funktion

strcmp()-Funktion

strcmp() ist eine vordefinierte Bibliotheksfunktion von string.h Header-Datei. Die Funktion strcmp() vergleicht zwei Zeichenfolgen auf lexikografischer Basis. Das bedeutet, dass die Funktion strcmp() beginnt, die erste Zeichenfolge zeichenweise mit der zweiten Zeichenfolge zu vergleichen, bis alle Zeichen in beiden Zeichenfolgen gleich sind oder ein NULL-Zeichen gefunden wird.

Syntax

 int strcmp ( const char *leftstr, const char *rightstr ); 

Parameter:

string.replaceall Java

leftstr: Es definiert die Zeichen der linken Zeichenfolge.

rightstr: Es definiert die Zeichen der rechten Zeichenfolge.

Kehrt zurück:

Die Zeichenfolge leftstr vergleicht jedes Zeichen mit der zweiten Zeichenfolge von links bis zum Ende beider Zeichenfolgen. Und wenn beide Zeichenfolgen gleich sind, gibt die Funktion strcmp() zurück, dass die Zeichenfolgen gleich sind. Andernfalls sind die Zeichenfolgen nicht gleich.

überwachtes maschinelles Lernen

Erstellen wir ein Programm zum Vergleichen von Zeichenfolgen mithilfe der Funktion strcmp() in C++.

Programm1.cpp

Linux eine Datei bearbeiten
 #include using namespace std; #include int main () { // declare strings const char *str1 = ' Welcome to JavaTpoint'; const char *str2 = ' Welcome to JavaTpoint'; const char *str3 = ' JavaTpoint'; const char *str4 = ' Javatpoint'; cout << ' String 1: ' << str1 << endl; cout << ' String 2: ' << str2 << endl; // use strcmp() function to validate the strings are equal if (strcmp (str1, str2) == 0) { cout << ' 
 Both strings are equal. ' << endl; } else { cout << ' The strings are not equal. ' << endl; } cout << ' 
 String 3: ' << str3 << endl; cout << ' String 4: ' << str4 << endl; // use strcmp() function to validate the strings are equal if (strcmp (str3, str4) == 0) { cout << ' 
 Both strings are equal. ' << endl; } else cout << ' 
 The strings are not equal. '; return 0; } 

Ausgabe

 String 1: Welcome to JavaTpoint String 2: Welcome to JavaTpoint Both strings are equal. String 3: JavaTpoint String 4: Javatpoint The strings are not equal. 

Funktion „compare()“.

Die Funktion „compare()“ ist eine vordefinierte Bibliotheksfunktion der Sprache C++. Die Funktion „compare()“ vergleicht zwei gegebene Zeichenfolgen und gibt basierend auf den übereinstimmenden Fällen die folgenden Ergebnisse zurück:

  1. Wenn beide Zeichenfolgen gleich sind, gibt die Funktion 0 zurück.
  2. Wenn der Zeichenwert der ersten Zeichenfolge kleiner als der zweite String ist, kehrt die Funktion zurück<0.< li>
  3. Wenn die zweite Zeichenfolge größer als die erste Zeichenfolge ist, gibt die Funktion einen Wert größer als 0 oder >0 zurück.

Syntax

 int compare (const string &amp;str) const; 

Erstellen wir ein einfaches Programm zum Vergleichen zweier Zeichenfolgen mithilfe der Funktion „compare()“ in C++.

Programm2.cpp

 #include using namespace std; int main () { string str1, str2; // declare string variable cout &lt;&gt; str1; cout &lt;&gt; str2; // use compare() function to compare the second string with first string int i = str1.compare(str2); if ( i <0) { cout << str1 ' is smaller than str2 string' <<endl; } else if ( i> 0) { cout &lt;&lt; str2 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str1 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } else // i == 0; { cout &lt;&lt; &apos; Both strings are equal.&apos;; } return 0; } </0)>

Ausgabe

Prioritätswarteschlange
 1st Run: Enter the string 1: Program Enter the string 2: program Program is smaller than program string 2nd Run: Enter the string 1: APPLE Enter the string 2: APPLE Both strings are equal. 

Vergleichsoperator

Dies ist der Operator, der in C++ zum Vergleichen zweier Zeichenfolgen oder numerischer Werte verwendet wird. C++ verfügt über verschiedene Arten von relationalen Operatoren wie „==“, „!=“, >,

Program3.cpp

 #include using namespace std; int main () { // declare string variables string str1; string str2; cout &lt;&lt; &apos; Enter the String 1: &apos; &lt;&gt; str1; cout &lt;&lt; &apos; Enter the String 2: &apos; &lt;&gt; str2; // use &apos;==&apos; equal to operator to check the equality of the string if ( str1 == str2) { cout &lt;&lt; &apos; String is equal.&apos; &lt;&lt; endl; } else { cout &lt;&lt; &apos; String is not equal.&apos; &lt;&lt; endl; } return 0; } 

Ausgabe

 Enter the String 1: JavaTpoint Enter the String 2: javatpoint String is not equal. 

2ndAusführung:

 Enter the String 1: Program Enter the String 2: Program String is equal. 

Vergleichen Sie zwei Zeichenfolgen mit dem relationalen Operator „Ungleich“ (!=).

Lassen Sie uns ein Programm erstellen, um mithilfe des Operators „Not Equal To“ (!=) in C++ zu vergleichen, ob die Zeichenfolgen gleich sind oder nicht.

Programm4.cpp

Java-Sammlungen Java
 #include using namespace std; int main () { // declare string variables string str1; string str2; cout &lt;&lt; &apos; Enter the String 1: &apos; &lt;&gt; str1; cout &lt;&lt; &apos; Enter the String 2: &apos; &lt;&gt; str2; // use &apos;!=&apos; not equal to operator to check the equality of the string if ( str1 != str2) { cout &lt;&lt; &apos; String is not equal.&apos; &lt;&lt; endl; } else { cout &lt;&lt; &apos; String is equal.&apos; &lt;&lt; endl; } return 0; } 

Ausgabe

 Enter the String 1: JAVATpoint Enter the String 2: JavaTPOINT String is not equal. 

2ndLaufen:

 Enter the String 1: HELLO Enter the String 2: HELLO String is equal. 

Vergleichen Sie zwei Zeichenfolgen mithilfe der for-Schleife und der if-Anweisung in C++

Program5.cpp

 #include using namespace std; int main () { char s1[50], s2[50]; // declare character array int i, disp; cout &lt;&lt; &apos; Enter the String 1: &apos; &lt;&gt; s1; cout &lt;&lt; &apos; Enter the String 2: &apos; &lt;&gt; s2; for (i = 0; s1[i] == s2[i] &amp;&amp; s1[i] == &apos;&apos;; i++); if (s1[i] <s2[i]) 1 2 { cout < s2[i]) << ' string is less than 1'; } else equal to 2'; return 0; pre> <p> <strong>Output</strong> </p> <pre> Enter the String 1: WELCOME Enter the String 2: WELCOME String 1 is equal to String 2 </pre> <h3>Compare two strings using the User-defined function in C++</h3> <p>Let&apos;s create a simple program to compare the first string with another string using the user-defined function in C++.</p> <p> <strong>Program6.cpp</strong> </p> <pre> #include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is not equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string. &apos; &lt; str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } else { cout &lt;&lt; str2 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str1 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } } else cout &lt;&lt; str1 &lt;&lt; &apos; is equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } int main () { string str1 ( &apos;JavaT&apos;); string str2 ( &apos;Tpoint&apos;); // call function RelationalCompare (str1, str2); string str3 (&apos;JavaTpoint&apos;); string str4 (&apos;JavaTpoint&apos;); RelationalCompare (str3, str4); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string. </pre> <hr></s2[i])>

Vergleichen Sie zwei Zeichenfolgen mit der benutzerdefinierten Funktion in C++

Lassen Sie uns ein einfaches Programm erstellen, um die erste Zeichenfolge mit einer anderen Zeichenfolge zu vergleichen, indem wir die benutzerdefinierte Funktion in C++ verwenden.

Program6.cpp

 #include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is not equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string. &apos; &lt; str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } else { cout &lt;&lt; str2 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str1 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } } else cout &lt;&lt; str1 &lt;&lt; &apos; is equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } int main () { string str1 ( &apos;JavaT&apos;); string str2 ( &apos;Tpoint&apos;); // call function RelationalCompare (str1, str2); string str3 (&apos;JavaTpoint&apos;); string str4 (&apos;JavaTpoint&apos;); RelationalCompare (str3, str4); return 0; } 

Ausgabe

 JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string.