Stringlänge in C -Sprache

Stringlänge in C -Sprache
Eine Zeichenfolge in der C -Sprache ist eine Reihe von Zeichen, die mit einem Nullzeichen beendet wird (\ 0). Die Zeichenfolgelänge ist die Anzahl der Zeichen in einer Zeichenfolge. In der Stringlänge '\ 0' wird ein Zeichen nicht gezählt.

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

In diesem Tutorial werden wir zunächst zeigen, wie man a benutzt Benutzerdefinierte Funktion Um die Länge einer Zeichenfolge zu berechnen, zeigen wir Ihnen eine integrierte Bibliotheksfunktion Strlen (). Wir zeigen Ihnen auch die Verwendungen der Größe von Operator für String -Literale.

Zeichenfolgelänge mit benutzerdefinierter Funktion

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

//Beispiel 1.C
#enthalten
int StringLength (char *str)

int i = 0;
während (Str [i] != '\ 0') i ++;
kehre I zurück;

int main ()

char str [30] = "String";
printf ("Länge der String str ist => %d \ n", StringLength (str));
Rückkehr 0;

Hier iterieren wir die while -Schleife von I = 0 bis wir nicht auf dem stoßen '\ 0' ' Charakter. Der Wert von ich wird durch 1 In jeder Iteration der while Schleife. Wenn die Schleife endet, der Wert von ich ist die Länge der Saite.

Stringlänge mit integrierter Bibliotheksfunktion

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

Strlen () Funktion:

Header-Datei:

Saite.H

Syntax:

size_t strlen (const char *str)

Streit: Diese Funktion nimmt ein Argument des Typzeigers auf char aus.

Rückgabewert: Diese Funktion gibt die Länge der Zeichenfolge zurück str. Beachten Sie, dass size_t ist nur ein Alias ​​einer nicht signierten Ganzzahl.

// Beispiel2.C
#enthalten
#enthalten
int main ()

char str1 [30] = "String Array";
char *str2;
char *str3;
str2 = str1;
str3 = "Stringzeiger";
printf ("Länge des String str1 ist => %ld \ n", strlen (str1));
printf ("Länge des String str2 ist => %ld \ n", strlen (str2));
printf ("Länge des String str3 ist => %ld \ n", strlen (str3));
printf ("Länge der Zeichenfolge" String -Literale "ist => %ld \ n", Strlen ("String -Literale");
Rückkehr 0;

Hier übergeben wir String -Array, String -Zeiger und String buchstäblich an die Strlen -Funktion, und die Funktion gibt die Länge der Zeichenfolge zurück.

Stringlänge mit Größe des Operators

Wir können auch die verwenden Größe von Bediener für die Stringlänge (nur für String -Literal). Wir müssen jedoch 1 vom Wert dieses Bedieners abziehen, da er auch den Zeichen "\ 0" zählt. Für Array und Zeiger gibt der Größe des Operators die zugewiesene Größe des Arrays bzw. des Zeigers zurück.

// Beispiel3.C
#enthalten
int main ()

char str1 [30] = "String";
char *str2 = str1;
printf ("Länge von" String "ist => %d \ n", (sizeof ("String") - 1));
printf ("zugewiesene Größe des STR1 -Arrays ist => %d \ n", Größe von (str1));
printf ("Größe des Str2 -Zeigers ist => %d \ n", Größe von (str2));
Rückkehr 0;

Hier, in Zeile Nr. 9. Also subtrahieren wir 1 und erhalten die tatsächliche Größe der Zeichenfolge.

Wenn wir ein Array an den Größe des Operators übergeben, gibt es die zugewiesene Größe des 30 -jährigen Arrays zurück, und wenn ein Zeichenzeiger übergeht, gibt es die Größe des Zeigers zurück.

Abschluss

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