C-Programmierung

Stringlänge in C-Sprache

Stringlänge in C-Sprache
Ein String in der Sprache C ist ein Array von Zeichen, das mit einem Nullzeichen (\0) endet. Die Stringlänge ist die Anzahl der Zeichen in einem String. In der Stringlänge '\0' wird ein Zeichen nicht gezählt.

Im oben gezeigten Beispiel ist die Länge der Zeichenfolge str ist 6.

In diesem Tutorial zeigen wir zunächst, wie man a . verwendet benutzerdefinierte Funktion um die Länge eines Strings zu berechnen, und dann zeigen wir Ihnen eine eingebaute Bibliotheksfunktion strlen(). Wir zeigen Ihnen auch die Einsatzmöglichkeiten der Größe von Operator für String-Literale.

String-Länge mit benutzerdefinierter Funktion

Sie können eine benutzerdefinierte Funktion schreiben, die die Anzahl der Zeichen in einer Zeichenfolge zurückgibt.

//Beispiel 1.c
#einschließen
int stringLength(char *str)

int i=0;
while(str[i] != '\0') i++;
Rückkehr ich;

int main()

char str[30]= "STRING";
printf("Länge des Strings str ist => %d\n",stringLength(str));
0 zurückgeben;

Hier iterieren wir die while-Schleife von ich = 0 bis wir dem nicht begegnen '\0' Charakter. Der Wert von ich wird erhöht um 1 in jeder Iteration der while-Schleife. Wenn die Schleife endet, wird der Wert von ich ist die Länge des Strings.

String-Länge mit eingebauter Bibliotheksfunktion

Die eingebaute Bibliotheksfunktion strlen() kann auch verwendet werden, um die Stringlänge zu bestimmen.

strlen()-Funktion:

Header-Datei:

Schnur.ha

Syntax:

size_t strlen (const char *str)

Streit: Diese Funktion nimmt ein Argument vom Typ Zeiger auf char.

Rückgabewert: Diese Funktion gibt die Länge des Strings zurück str. Beachten Sie, dass Größe_t ist nur ein Alias ​​einer ganzen Zahl ohne Vorzeichen.

//Beispiel2.c
#einschließen
#einschließen
int main()

char str1[30]="STRING-ARRAY";
Zeichen *str2;
Zeichen *str3;
Str2 = Str1;
str3 = "STRING-ZEIGER";
printf("Die Länge des Strings str1 ist => %ld\n",strlen(str1));
printf("Länge des Strings str2 ist => %ld\n",strlen(str2));
printf("Länge des Strings str3 ist => %ld\n",strlen(str3));
printf("Länge des Strings "STRING LITERALS" ist => %ld\n",strlen("STRING LITERALS"));
0 zurückgeben;

Hier übergeben wir String-Array, String-Zeiger und String-Literal an die Funktion strlen, und die Funktion gibt die Länge des Strings zurück.

String-Länge mit sizeof-Operator

Wir können auch die Größe von Operator für Stringlänge (nur für Stringliteral). Wir müssen jedoch 1 von dem von diesem Operator zurückgegebenen Wert subtrahieren, da er auch das Zeichen '\0' zählt. Für Array und Zeiger gibt der Operator sizeof die zugewiesene Größe des Arrays bzw. des Zeigers zurück.

//Beispiel3.c
#einschließen
int main()

char str1[30] = "STRING";
Zeichen *str2 =str1;
printf("Länge von "STRING" ist => %d\n",(sizeof("STRING") - 1));
printf("Die zugewiesene Größe des str1-Arrays ist => %d\n",sizeof(str1));
printf("Größe des str2-Zeigers ist => %d\n",sizeof(str2));
0 zurückgeben;

Hier übergeben wir in Zeile 9 das String-Literal „STRING“ und erhalten die Größe, einschließlich des Zeichens „\0“. Also subtrahieren wir 1 und erhalten die tatsächliche Größe des Strings.

Wenn wir ein Array an den sizeof-Operator übergeben, gibt es die zugewiesene Größe des Arrays zurück, die 30 ist, und wenn wir einen Zeichenzeiger übergeben, gibt es die Größe des Zeigers zurück.

Fazit

In diesem Tutorial haben wir Ihnen also gezeigt, wie die Stringlänge auf verschiedene Weise berechnet werden kann. Sie können in Ihrem Code die Methode verwenden, die für Sie am besten geeignet ist.

Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...