Der Vergleich der Stringlänge ist eine gängige Funktion in der C-Programmierung, da Sie so erkennen können, welcher String mehr Zeichen enthält. Dies ist sehr nützlich, um Daten zu sortieren. Das Vergleichen von Strings erfordert eine spezielle Funktion; Verwenden Sie nicht != oder ==.
Schritte
Schritt 1. Es gibt zwei Funktionen, mit denen Sie Strings in C vergleichen können
Beide Funktionen sind in der Bibliothek enthalten.
- strcmp() - Diese Funktion vergleicht zwei Strings und gibt den komparativen Unterschied in der Anzahl der Zeichen zurück.
- strncmp() - Dies ist dasselbe wie strcmp(), außer dass es die ersten n Zeichen vergleicht. Es gilt als sicherer, da es hilft, Abstürze durch Überlauf zu verhindern.
Schritt 2. Starten Sie das Programm mit Ihren benötigten Bibliotheken
Sie benötigen sowohl die als auch -Bibliotheken sowie alle anderen, die Sie für Ihr spezielles Programm benötigen.
#einschließen #einschließen
Schritt 3. Starten Sie eine
int Funktion.
Dies ist der einfachste Weg, diese Funktion zu erlernen, da sie eine Ganzzahl zurückgibt, die die Länge der beiden Zeichenfolgen vergleicht.
#include #include int main() { }
Schritt 4. Definieren Sie die beiden Zeichenfolgen, die Sie vergleichen möchten
In diesem Beispiel vergleichen wir zwei vordefinierte Zeichenfolgen. Sie sollten auch den Rückgabewert als Ganzzahl definieren.
#include #include int main() { char *str1 = "Apfel"; char *str2 = "orange"; int ret; }
Schritt 5. Fügen Sie die Vergleichsfunktion hinzu
Nachdem Sie nun Ihre beiden Strings definiert haben, können Sie die Vergleichsfunktion hinzufügen. Wir werden strncmp() verwenden, also müssen wir sicherstellen, dass die Anzahl der zu messenden Zeichen in der Funktion festgelegt ist.
#include #include int main() { char *str1 = "Apfel"; char *str2 = "orange"; int ret; ret = strncmp(str1, str2, 6); /*Dies vergleicht die beiden Strings mit einer Länge von bis zu 6 Zeichen */ }
Schritt 6. Verwenden Sie eine
Ansonsten Anweisung, den Vergleich durchzuführen.
Nachdem Sie die Funktion nun eingerichtet haben, können Sie eine If…Else-Anweisung verwenden, um anzuzeigen, welche Zeichenfolge länger ist. strncmp() gibt 0 zurück, wenn die Strings die gleiche Länge haben, eine positive Zahl, wenn str1 größer ist, und eine negative Zahl, wenn str2 größer ist.
#include #include int main() { char *str1 = "Apfel"; char *str2 = "orange"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 ist länger"); aufrechtzuerhalten. Sonst if (ret < 0) { printf ("str2 ist länger"); } else { printf("Die beiden Strings sind gleich"); } zurück(0); }