Fall Insensitiver String -Vergleich in C ++

Fall Insensitiver String -Vergleich in C ++
Der Vergleich war in vielen Bereichen ein sehr bekanntes und am meisten verwendeten Konzept. Wenn es um Programmiersprachen geht, verglichen wir die meiste Zeit die Zahlen. Dies ist jedoch in allen Programmiersprachen nicht der Fall. Einige der Programmiersprachen wie C ++ bieten uns auch die Möglichkeit, die Werte von String -Typen zu vergleichen. Dies kann durch die Ignorierung der Fallempfindlichkeit dieser Saiten mit einigen integrierten Methoden erfolgen. So werden wir in unserem heutigen Artikel diese Methoden diskutieren, um einen unempfindlichen Vergleich von String -Fall in C durchzuführen++. Beginnen wir also mit dem Öffnen des Ubuntu 20.04 Terminalkonsole über "Strg+Alt+T".

Beispiel 01: Verwendung der StrCaseCMP -Methode

Hier haben wir unser erstes Beispiel gestartet, indem wir eine Datei erstellt haben, die die C ++ - Erweiterung enthalten muss. Die Touch -Abfrage wurde für diesen speziellen Zweck verwendet. Danach muss ein Benutzer die neu erstellte Datei öffnen, um einen Code hinzuzufügen. Ein Benutzer kann einen integrierten Editor von Ubuntu 20 nutzen.04 Wie Vim, Text oder Nano Editor. Wir haben also den Nano -Editor hier gemäß unserer Leichtigkeit und schneller Bearbeitung verwendet. Das Schlüsselwort "Nano" wird hier verwendet, um den Fall "Fall" zu öffnen.CC ”-Datei im NANO -Editor. Ihre Datei wird im leeren Editor geöffnet.

Wir haben den C ++ - Code mit einigen eindeutigen und notwendigen Header -Dateien gestartet. Diese Header -Dateien werden mit dem Schlüsselwort „inklusive“ mit dem Hash -Zeichen enthalten. Die Header-Dateien umfassen den Stream-Header "Input-Output", "String" -Header und "Cstring" -Header, um die StrCasecmp () -Methode im Code zu verwenden. Der Standard -Namespace ist wichtig, um die Cout- und CIN -Klauseln im Code weiter zu verwenden. Die main () -Methode wurde mit der Initialisierung von zwei Zeichenfolgentypvariablen S1 und S1 mit einigen Stringwerten darin bestehen. Sie sehen. Die Anweisung "if" wird hier verwendet, um zwei Zeichenfolgenvariablen S1 und S2 zu vergleichen.

Die Funktion „StrCasecmp ()“ wurde in der Anweisung „if“ verwendet und nimmt beide String -Variablen S1 und S2 zum Vergleich. Diese Funktion ignoriert ihren Fall und prüft, ob beide Zeichenfolgen über die Methode „C_str ()“ gleichzeitig ein einzelnes Byte verwendet werden oder nicht. Wenn das Byte von S1 mit demselben Ort Byte von String S2 übereinstimmt, wird 0 zurückgegeben. Wenn alle zurückgegebenen Ergebnisse entspricht 0, zeigt dies, dass die Zeichenfolge S1 S2 ähnelt und ihren Fall ignoriert. Daher wird die Erklärung "if" die erste "Cout" -Schürtung ausführen, die zeigt, dass beide Zeichenfolgen übereinstimmen. Andernfalls wird der andere Teil der Anweisung "if" ausgeführt und angezeigt, dass die Zeichenfolgen nicht übereinstimmen. Die Rückgabeklausel beendet einfach die main () -Methode hier. Unser Programm ist hier abgeschlossen. Sparen wir es einfach schnell mit der Abkürzung "Strg+S" und beenden wir mit dem "Strg+x". Dies ist ein notwendiger Schritt, bevor Sie zur Zusammenstellung und Ausführungsphase gehen.

Jetzt, da die Datei gespeichert wurde und wir zurück zum Terminal sind, ist es Zeit, sie schnell zu kompilieren. Für die Zusammenstellung einer C ++ - Datei in Ubuntu 20.04, Sie benötigen einen "G ++" -Kompiler. Wenn Sie keine haben, versuchen Sie es mit dem "APT" -Paket zu installieren. Andernfalls führt Ihr Code nicht so, wie er sollte. Also haben wir den Fall zusammengestellt.CC ”-Datei mit dem erfolgreichen„ G ++ “-Kompiler, der erfolgreich war. Danach war der letzte Schritt die Ausführung dieser kompilierten Datei. Dies wurde mit Hilfe eines "gemacht"./A.Out “Anweisung. Wir haben die "Strings abgestimmt ..." -Meldung, da sowohl die Saiten S1 als auch die S2 im Vergleich gleich sind, aber in ihrem Fall unterschiedlich sind.

Beispiel 02: Verwendung der Strncasecmp -Methode

Nehmen wir ein weiteres ähnliches Beispiel für den Vergleich von zwei Fallunempfindungen in C++. Dieses Mal werden wir die Methode „Strncasecmp ()“ anstelle der ähnlichen Funktion „StrCasecmp ()“ verwenden. Beide funktionieren ziemlich ähnlich, aber die Methode „strncasecmp ()“ funktioniert etwas anders. Diese Funktion nimmt 3 Argumente vor. Der Code ähnelt dem ersten Beispielcode mit einer kleinen Änderung an zwei Positionen. Die erste Änderung wurde im Wert von S2 der zweiten Saite vorgenommen, wo wir gerade die Position eines String-Inhalts nach unserem Wunsch geändert haben. Die zweite Änderung wurde bei der Anweisung „if“ durchgeführt, bei der wir den dritten Parameter in der Funktion „strncasecmp ()“ hinzugefügt haben. Dieser Parameter erfordert einen Ganzzahlwert, um die Anzahl der Zeichen aus beiden Zeichenfolgen anzugeben, die übereinstimmen oder verglichen werden sollen.e., Erste 5. Dies bedeutet, dass nur die ersten 5 Zeichen beider Saiten verglichen werden, und das Ergebnis wird danach generiert.

Wenn der Vergleich erfolgreich wurde und beide Saiten die gleichen Charaktere erhielten, die ihre Fallempfindlichkeit ignorieren, wird er 0 zurückgegeben, und die erste Cout -Anweisung wird ausgeführt. Andernfalls wird die nächste Cout -Klausel ausgeführt. Sparen wir einfach mit der Abkürzung „Strg+S“ und beenden wir die Datei mit „Strg+X“, um zum Terminal zurückzukehren. Jetzt sind wir an der Reihe für die Zusammenstellung.

Nach der Zusammenstellung zeigt der Ausführungsbefehl, dass die Saiten nicht übereinstimmen, da die ersten 5 Zeichen beider Zeichenfolgen unterschiedlich sind.

Beispiel 03: Verwenden Sie die Methode von compare ()

Lassen Sie uns unsere letzte, aber nicht die geringste Methode haben, um zwei Fall unempfindliche Zeichenfolgen in C zu vergleichen++. Der Code wurde mit den Header -Dateien gestartet, ich.e., IOstream und Algorithmus. Der iOstream wird für den Eingangs-Output-Stream verwendet, aber der Header „Algorithmus“ wird verwendet, um die Methode Compare () und Transformation () im Code ordnungsgemäß zu verwenden. Nach den Headern wird der Standard „Namespace“ nach Bedarf für die Verwendung von „Cout“ und „CIN“ -Anklauseln verwendet, um die Eingabe anzuzeigen und zu erhalten. Dann haben wir unsere Main () -Funktion des Ganzzahl -Rückkehrtyps begonnen. Es wird zwei Variablen vom String-Typ S1 und S2 initialisiert. Beide Zeichenfolgen enthalten einige Stringwerte mit unterschiedlicher Fallempfindlichkeit, sind jedoch in den Zeichen ähnlich.

Die Methode „Transform ()“ wurde sowohl auf S1 und S2 angewendet, um sie mit der Funktion "toupper ()" von Anfang bis Ende in den oberen Fall umzuwandeln. Nach dem Konvertieren wurde die Methode "Compare ()" in der Anweisung "if" verwendet, um zu überprüfen, ob der String S1 gleich S2 ist. Wenn der Vergleich jedes Zeichenbyte an derselben Stelle beider Saiten 0 zurückgibt, bedeutet dies, dass beide ähnlich sind. Daher wird die erste "Cout" -serklärung ausgeführt, die besagt, dass die Saiten übereinstimmen werden. Andernfalls wird die Anweisung des anderen Teils „Cout“ ausgeführt, der zeigt, dass die Zeichenfolgen nicht gleich sind. Der Code ist hier abgeschlossen.

Nach der Zusammenstellung und Ausführung der Codedatei haben wir die Nachricht „Strings übereinstimmen…“. Beide Saiten wurden gleich, nachdem sie in den oberen Fall umgewandelt wurden.

Abschluss:

Dieser Artikel ist am besten, um den Fall unempfindlich zu erklären, verglichen in der C ++ - Sprache. Wir haben die drei verschiedenen Funktionen in unseren Beispielen verwendet, um diese Funktionalität zu erreichen i.e.Strcasecmp (), strncasecmp (), Transform () und Compare (). Alle Beispiele werden auf Ubuntu 20 implementiert.04 System und sind gleichermaßen ausführbar auf anderen Linux -Verteilungen. Wir hoffen, Sie werden diesen Artikel beim Lernen C finden c++.