Strcasecmp -Funktion in c

Strcasecmp -Funktion in c

Die StrCaseCMP -Funktionen ermöglichen den Vergleich zwischen den beiden Zeichenfolgen. Diese Fallvergleichsfunktion ist weder für Kleinbuchstaben noch in Großbuchstaben oder den Alphabeten in den Zeichenfolgen empfindlich, da diese Funktion zuerst beide Zeichen der Zeichenfolge in Kleinbuchstaben umwandelt und sie dann vergleicht. Der Vergleich erfolgt immer zwischen den Saiten, die bei einem Nullcharakter enden, e.G. "/0". Strcasecmp beginnt mit dem Vergleich der beiden verschiedenen Saiten mit dem ersten Charakter in beiden Saiten. Dieser Vergleich endet mit einem Nullzeichen, das angibt, dass die Zeichenfolge beendet ist. Diese Funktion gibt einige Werte als Rückgabewert nach dem Vergleich zurück. Diese Rückgabewerte sind als weniger als Null dargestellt, was bedeutet, dass die erste Zeichenfolge kleiner als der zweite ist. Gleich wie "0" oder "0" zeigt, dass beide Zeichenfolgen gleich und mehr als Null sind, was bedeutet, dass die erste Zeichenfolge mehr/ größer ist als die zweite.

Verfahren

Wir werden über die Methoden sprechen, um die beiden verschiedenen Zeichenfolgen verschiedener Größen mithilfe der StrCasecmp () -Methode zu vergleichen. Wir werden die Deklarationsmethode für diese Funktion untersuchen und erfahren, wo wir diese Funktion verwenden können. Um mit dieser Funktion praktiziert zu werden, werden wir einige Beispiele lösen, die die Vergleichsmethode für String-Fall verwenden.

Syntax

Die Methode zur Erklärung von StrCasecmp () beinhaltet die Verwendung von Zeigern, die auf die beiden Zeichenfolgen hinweisen, die wir miteinander vergleichen möchten. Wir definieren zunächst den Rückgabetyp für diese Funktion, die "Ganzzahl" ist. Dann nennen wir die Funktion "StrCasecmp" und definieren ihre Parameter als Zeiger beider Saiten. Diese Erklärung ist in der nächsten Zeile wie folgt dargestellt:

$ Int strcasecmp (char * string_1, char * str_2)

Beispiel 1

In diesem Beispiel wird die zuvor erwähnte Erklärung der Funktion von StrCasecmp () verwendet, um die Zeichenfolgen zu vergleichen. Zunächst werden wir mit der Vergleichsmethode das Beispiel im C im Microsoft Visual Studio Compiler ausführen. Unser erster Schritt wäre, ein neues Projekt für C zu erstellen. Und dann schließen wir die erforderlichen Bibliotheken aus den C -Grundlagen ein, um die Eingänge und Ausgänge im Programm entweder zu lesen oder zu schreiben. Da wir uns mit den Zeichenfolgen in diesem Artikel befassen, importieren wir außerdem auch die Header-Datei, mit der wir die von String bezogenen Funktionen im Programm verwenden können. Wir importieren nur zwei der Header “.H ”Dateien folgen den Befehlen:

$ # inklusive
$ # inklusive

Im Folgenden des Beispiels dieses Schritt. Dazu erklären wir die beiden Zeichenfolgen mit dem Datentyp als „char“. Wir können diese Zeichenfolgen "String_1" bzw. "String_2" nennen. Wir initialisieren diese Zeichenfolgen mit einigen zufälligen Werten als "Stühle" zu String_1 und "Stühle" zu String_2. Nach dieser Zuordnung der Werte zu den Zeichenfolgen definieren wir die Zeiger für beide Zeichenfolgen mit dem Datentyp "char" und initialisieren eine Variable als "Vergleichen", der den Datentyp "Integer" enthält, initialisiert.

Zu dieser Variablen weisen wir die Funktion von StrCasecmp () zu, die die String_1 und String_2 als Eingabeargumente aufweist. Anschließend implizieren wir die Bedingungen für diese Ergebnisvariable, dass, wenn das Ergebnis gleich „0“ ist, drucken „Strings sind gleich“. Wenn das Ergebnis "weniger als 0" ist, anzeigen "String_1 ist weniger als String_2" oder "String_1 ist größer als String_2" und geben den Wert gleich 0 an die Hauptfunktion zurück. Wir versuchen, die Erklärung neu zu schreiben, die wir beispielsweise in Form des Programms in der folgenden Abbildung in Form des Programms erwähnt haben:

#enthalten
#enthalten
int main (void)
char* string_1 = "Stühle";
char* string_2 = "Stühle";
int compare_result;
compare_result = strcasecmp (string_1, string_2);
if (compare_result == 0)
printf ("Gleiche Saiten.\N");
sonst wenn (compare_result < 0)
printf (""%s "String1 ist weniger als String2"%s "".\ n ", string_1, string_2);
anders
printf (""%s "String1 ist größer als String2"%s ".\ n ", string_1, string_2);
Rückkehr 0;

Die Ergebnisse des Vergleichs, den wir für beide Saiten 1 und 2 gemacht haben, kamen heraus. Der Ausgang zeigt an, dass die Zeichenfolgen gleich sind, was die korrekte Schätzung ist, da die von uns verglichenen Zeichenfolgen gleich waren.

Beispiel 2

Im zweiten Beispiel führen wir einen Code für den Vergleich der beiden Zeichenfolgen aus, für die wir die Werte vom Benutzer entgegennehmen, was bedeutet, dass wir die Werte von zwei Zeichenfolgen vom Benutzer nehmen und das Ergebnis des Vergleichs drucken. Wir importieren die Header -Dateien für die String -Funktionen und die Ausgangsanzeige und die Eingabe -Lesung als Zeichenfolge. H ”und„ Stdio. H ”, jeweils. Um mit dem Codieren zu beginnen, deklarieren wir die Zeichenfolgen (zwei) mit der Datengröße als „50“ und den Datentyp „char“ mit dem Datentyp "char".

Um diese Zeichenfolgen zu initialisieren, nehmen wir die Eingabe vom Benutzer an, indem wir die Methode „scanf ()“ aufrufen und den Formatspezifizierer „%s“ und den Namen der Zeichenfolgen übergeben. Wir speichern das Vergleichsergebnis beider benutzerdefinierter Zeichenfolgen in einer Variablen „Compare_Result“ und stellen eine „Wenn Anweisung“ auf, dass die „Strings gleich“, wenn das Ergebnis gleich Null ist, gleich ist, die „Strings sind gleich“. Ansonsten sind sie "nicht gleich". Wenn die Aussage wahr ist, drucken wir die „gleichen Strings“. Falls die Erklärung falsch ist, druckt das Programm "nicht gleich". Das Programm verlässt dann die Hauptfunktion, indem er die Null als Rückgabewert zurückgibt. Für die Implementierung dieses Beispiels haben wir einen folgenden Code -Snippet angehängt:

#enthalten
#enthalten
int main (void)

char String_1 [50];
char String_2 [50];
printf ("String_1 eingeben");
scanf ("%s", string_1);
printf ("String_2 eingeben");
scanf ("%s", string_2);
int compare_result;
compare_result = strcasecmp (string_1, string_2);
if (compare_result == 0)
printf ("gleiche Zeichenfolgen");
anders
printf ("nicht gleich");
Rückkehr 0;

Die beiden benutzerdefinierten Zeichenfolgen waren „Stühle“ bzw. „Tisch“. Das Ergebnis des Vergleichs wurde als „nicht gleich“ herausgestellt, was korrekt ist, da die beiden im Programm verglichenen Zeichenfolgen nicht gleich waren. Wir können auch die Bedingungen für das größere als und weniger als für ein Vergleichsergebnis anwenden.

Abschluss

Die Verwendung der String -Vergleichsfunktion ist in nahezu jeder Anwendung in jeder Programmiersprache sehr verbreitet. Wir haben die Verwendung der Funktion von StrCasecmp () in diesem Artikel für die C -Sprache diskutiert. Diese Vergleichsfunktion nimmt den Vergleich zwischen den beiden Zeichenfolgen an, und diese Funktion ist unempfindlich gegenüber Kleinbuchstaben und Großbuchstaben. Wir haben diese String-Vergleichsfunktion sowohl für die im Programm definierten Zeichenfolgen als auch für die benutzerdefinierten Zeichenfolgen implementiert, indem wir die SCANF ().