Stringlänge in C-Sprache

String Length C Language



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







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



In diesem Tutorial zeigen wir zuerst, 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 einem String zurückgibt.





//Beispiel1.c
#enthalten

intString-Länge(verkohlen *P)
{
intich=0;

während(P[ich] ! = ' 0')ich++;

Rückkehrich;
}

inthauptsächlich()
{
verkohlenP[30]= 'STRING';

druckenf ('Länge des Strings str ist => %d ',String-Länge(P));

Rückkehr 0;
}

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.h

Syntax:

Größe_t strlen (const verkohlen *P)

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

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

//Beispiel2.c
#enthalten
#enthalten

inthauptsächlich()
{
verkohlenstr1[30]='STRING-ARRAY';
verkohlen *str2;
verkohlen *str3;

str2=str1;
str3= 'STRING-ZEIGER';

druckenf ('Länge des Strings str1 ist => %ld ', strlen (str1));
druckenf ('Länge des Strings str2 ist => %ld ', strlen (str2));
druckenf ('Länge des Strings str3 ist => %ld ', strlen (str3));
druckenf ('Länge der Schnur'SAITENliterale' ist => %ld ', strlen ('STRING-WERTE'));

Rückkehr 0;
}

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 String-Länge (nur für String-Literal). Wir müssen jedoch 1 von dem von diesem Operator zurückgegebenen Wert abziehen, da er auch das Zeichen „“ zählt. Für Array und Zeiger gibt der Operator sizeof die zugewiesene Größe des Arrays bzw. des Zeigers zurück.

//Beispiel3.c
#enthalten

inthauptsächlich()
{
verkohlenstr1[30] = 'STRING';
verkohlen *str2=str1;

druckenf ('Länge von 'STRING' ist => %d ',(Größe von('STRING') - 1));
druckenf ('Zugeordnete Größe des str1-Arrays ist => %d ',Größe von(str1));
druckenf ('Größe des str2-Zeigers ist => %d ',Größe von(str2));

Rückkehr 0;
}

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

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

Abschluss

In diesem Tutorial haben wir Ihnen 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.