STRNCMP C ++

STRNCMP C ++
Saiten sind der Hauptteil der C ++-Sprache, da sie viele integrierte Funktionen enthält, um einige spezifische Aufgaben auf diesen Saiten zu erledigen. Sie können Substrings erstellen, ihre Größen überprüfen und sie miteinander beziehen. String-Vergleich ist das am häufigsten verwendete Konzept in C++. Da. Es ist ziemlich einfach, mit IF-ELSE-Anweisungen im Code zu verwenden. Daher werden wir ihre Arbeit in Ubuntu 20 besprechen.04 System. Beginnen wir mit der C ++ - Neue Dateigenerierung mit Berührungsanweisung auf der Shell und öffnen Sie sie mit dem Schlüsselwort "Nano".

Beispiel 01:

Beginnen wir mit dem ersten Beispiel, um die Funktion strncmp () zu verwenden. Der Code wurde mit der Aufnahme der C ++ - Bibliothek begonnen. Die Header -Bibliotheken, die wir enthalten haben, sind "iOstream" und "String".H ”für die Verwendung des Eingabe-Output-Stream- und String-Funktionen direkt im Code. C ++ "STD" -Namenspace ist erforderlich, um innerhalb des Codes hinzuzufügen, um "CIN "- und" Cout "-Anweisungen zu verwenden. Der gesamte Code wurde innerhalb der Funktion main () durchgeführt. Also haben wir es mit der Deklaration und Initialisierung von Stringvariablen mit zwei Charakter-Typen der Größe 30, i begonnen, i.e. S1 und S3. Beide Dateien enthalten die in ihnen, i.e. halb gleich und halb unterschiedlich. Die Funktion von strncmp () wurde aufgerufen, um sowohl die beiden Variablen S1 als auch S2 zu vergleichen.

Dieser Funktionsaufruf verwendete sowohl die Variablen S1 als auch S2 in den Argumenten und die Anzahl der Elemente, die wir vergleichen möchten.e. 9. Die Anzahl der gleichen Zeichen für beide Zeichenfolgen, die von der Funktion strncmp () zurückgegeben werden, wird in der Ganzzahlvariablen „I“ gespeichert. Hier kommt die Anweisung „If-ELSE“, um zu überprüfen, ob die zurückgegebene Anzahl der gleichen Zeichen Null, weniger als 0 oder größer als 0 ist. Wenn die Zahl "i" gleich Null ist, zeigt die COUT -Anweisung die Zeichenfolge gleich aus. Dies bedeutet, dass bisher keine unübertroffenen Zeichen gefunden wurden. Andernfalls zeigt die else -cout -Anweisung an, dass Zeichenfolgen nicht gleich sind.

Nach dieser Codekompilierung mit G ++ und Ausführung mit dem “./A.OUT ”-Befehl“, haben wir das Ergebnis, um zu zeigen, dass beide Saiten gleich bis zu den ersten 9 Zeichen in jedem sind.

Ändern wir die Anzahl der Zeichen, die zwischen beiden Saiten verglichen werden sollen. Wir haben also den gleichen Code -Stück für C verwendet++. Wir haben die Funktion von strncmp () hier aktualisiert, indem wir ihr drittes Argument ersetzt haben. Wir haben 9 mal 14 ersetzt, um die Gesamtzahl der ersten 14 Zeichen aus beiden Saiten zu vergleichen.

Nach der aktualisierten Code -Kompilierung und Ausführung haben wir die folgende Ausgabe gezeigt. Da sich Zeichenfolge 1 von String 2 weiter unterscheidet, ist es 10th Das Zeichen zeigt an, dass beide Saiten nach den ersten 9 Zeichen nicht gleich sind.

Beispiel 02:

Schauen wir uns ein weiteres Beispiel für die Funktion der STRNCMP () -Funktion an, die auf verschiedenen Arten von Zeichenfolgen arbeitet. Dieses Mal werden wir uns zwei Saiten mit verschiedenen Fällen ansehen. Wir haben dieses Beispiel also mit denselben Headern und dem gleichen Namespace von C ++ vor der Main () -Funktionsimplementierung gestartet. Innerhalb der Main () -Methode wurden 2 Zeichenketten mit Zeichenfolgenwerten initialisiert; Beide sind in Zeichen gleich, aber in Typ-Casen unterschiedlich, ich.e. obere und untere. Die Methode der STRNCMP () wurde aufgerufen, um zu überprüfen. Die Erklärung „If-ELSE“ funktioniert entsprechend, ich.e. gleich oder nicht gleich. Lassen Sie uns diesen Code speichern und ausführen, um festzustellen, dass das Update ordnungsgemäß funktioniert oder nicht.

Wir haben diesen Code zuerst zusammengestellt und danach ausgeführt. Im Gegenzug haben wir, dass die Saiten nicht gleich sind. Dies beweist, dass die Funktion von strncmp () nur dann 0 zurückgibt, wenn beide Zeichenfolgen in Zeichen und Typen-Cases gleich sind. Andernfalls gibt es einen Wert weniger als oder gleich 0 zurück.

Daher haben wir die Zeichenfolgewerte im Code mit denselben Typ-Casen und Zeichen aktualisiert. Nach der String -Initialisierung haben wir die methode strncmp () bezeichnet, um beide String bis zum letzten Zeichen zu vergleichen. Wir haben die verschachtelte Erklärung „IF-ELSE“ hier hinzugefügt, um mehr als 1 Bedingung zu überprüfen. Wenn der Rückgabewert gleich 0 ist, wird zurückgegeben, dass die Zeichenfolgen zusammen mit der Anzeige des zurückgegebenen Werts gleich sind. Wenn der zurückgegebene Vergleichswert höher oder weniger als 0 ist, wirkt er entsprechend und zeigt diesen bestimmten zurückgegebenen Wert an.

Nach der Zusammenstellung und Ausführung dieses aktualisierten Code haben wir die Nachricht „Zeichenfolgen sind gleich“ und den zurückgegebenen Wert, i.e. 0.

Beispiel 03:

Wir haben mit allen Beispielen mit der Funktion von strncmp () durchgeführt, um festzustellen, ob zwei Zeichenfolgen gleich sind oder nicht. Wir werden uns diesmal ein wenig anders ansehen. Wir werden eine große Zeichenfolge und eine kleine Zeichenfolge im Code verwenden. Also haben wir unser Beispiel mit iStream und String begonnen.H Headerbibliotheken verwenden das Schlüsselwort "#include" mit beiden. Nach dem Hinzufügen des Namespace haben wir die Funktion main () mit zwei String -Variablen -Initialisierung gestartet.

Der String S1 enthält mehr als 5 Zeichen und String S2 enthält nur 5 5 Zeichen. Die Funktion von strncmp () wurde mit einer einfachen Funktion ausgeführt, die als beide Variablen übergeben wird. Die Anzahl der zu übereinstimmenden Zeichen ist auf 5 gesetzt. Die Funktion von STRNCMP () vergleicht beide Variablen und gibt das jeweilige Ergebnis zurück. Da unsere erste Saite größer ist als die 2nd String und stimmt nicht mit 2 übereinnd String, daher wird der Teil der Anweisung für "i> 0" ausgeführt. Im Gegenzug wird angezeigt, dass „S1 größer als S2 ist“ zusammen mit dem zurückgegebenen Wert von „I“ für mehrere nicht übereinstimmende Zeichen.

Nachdem wir diesen Code auf der Shell ausgeführt haben, haben wir das Ergebnis wie erwartet, ich.e. S1 ist größer als S2, der Wert von „I“ wird als „32“ zurückgegeben, der als „32“ zurückgegeben wird.

Der Gesamtcode für dieses Beispiel bleibt der gleiche wie im obigen Code. Die einzige Änderung, die wir hier haben, ist der Austausch von Stringwerten miteinander. Jetzt ist String S2 größer als String S1. In diesem Fall muss die letzte Anweisung ausgeführt werden. Lassen Sie uns diesen Code jetzt ausführen.

Nach dieser Code -Kompilierung und -ausführung haben wir gesehen. Es zeigt, dass die erste Zeichenfolge kleiner ist als die andere Zeichenfolge, während keiner der Zeichen genau übereinstimmt.

Abschluss:

Endlich haben wir die Erläuterung der Funktion von C ++ abgeschlossen, um zwei Zeichenfolgen zu vergleichen. Wir haben die Strncmp () -Methode mit verschiedenen Arten von Zeichenfolgen diskutiert, ich.e. eine größer als die andere in Größe, gleichen Saiten und verschiedenen Saiten. Bisher wurden einfache und verschachtelte IF-ELSE-Anweisungen verwendet, um unsere Code unterschiedliche Bedingungen für Zeichenfolgen und zurückgegebene Werte durch eine Strncmp () -Methode zu überprüfen. Aufgrund der Einfachheit unserer Beispiele hoffen wir, dass Sie es leicht finden, zu lernen und implementieren.