Stringlengte in C-taal

String Length C Language



Een tekenreeks in C-taal is een reeks tekens die wordt afgesloten met een null-teken (). De stringlengte is het aantal karakters in een string. In de tekenreekslengte '' wordt een teken niet meegeteld.







In het bovenstaande voorbeeld is de lengte van de string P is 6.



In deze zelfstudie laten we eerst zien hoe u a door de gebruiker gedefinieerde functie: om de lengte van een string te berekenen, en dan laten we je een ingebouwde bibliotheekfunctie zien strlen() . We laten u ook het gebruik van de De grootte van operator voor letterlijke tekenreeksen.



Stringlengte met door de gebruiker gedefinieerde functie

U kunt een door de gebruiker gedefinieerde functie schrijven die het aantal tekens in een tekenreeks retourneert.





//Voorbeeld1.c
#erbij betrekken

intdraadlengte(char *P)
{
intl=0;

terwijl(P[l] ! = ' 0')l++;

opbrengstl;
}

inthoofd()
{
charP[30]= 'SNAAR';

printf ('Lengte van de string str is => %dN',draadlengte(P));

opbrengst 0;
}

Hier herhalen we de while-lus van ik = 0 totdat we de niet tegenkomen ‘ 0’ karakter. De waarde van l wordt verhoogd met 1 in elke iteratie van de while-lus. Wanneer de lus eindigt, wordt de waarde van l is de lengte van de string.



Stringlengte met ingebouwde bibliotheekfunctie

De ingebouwde bibliotheekfunctie strlen() kan ook worden gebruikt om de lengte van de string te bepalen.

strlen() functie:

Header-bestand:

snaar.H

Syntaxis:

size_t strlen (const char *P)

Argument: Deze functie neemt een argument van het type pointer naar char.

Winstwaarde: Deze functie retourneert de lengte van de string P . Let daar op size_t is slechts een alias van een geheel getal zonder teken.

//Voorbeeld2.c
#erbij betrekken
#erbij betrekken

inthoofd()
{
charstr1[30]='STRING-ARRAY';
char *str2;
char *str3;

str2=str1;
str3= 'STRING WIJZER';

printf ('Lengte van de string str1 is => %ldN', strlen (str1));
printf ('Lengte van de string str2 is => %ldN', strlen (str2));
printf ('Lengte van de string str3 is => %ldN', strlen (str3));
printf ('Lengte van de snaar'STRING LITERALS' is => %ldN', strlen ('STRING LITERALS'));

opbrengst 0;
}

Hier geven we stringarray, stringpointer en string letterlijk door aan de strlen-functie, en de functie retourneert de lengte van de string.

Stringlengte met behulp van sizeof Operator

We kunnen ook de De grootte van operator voor tekenreekslengte (alleen voor letterlijke tekenreeks). Maar we moeten 1 aftrekken van de waarde die door deze operator wordt geretourneerd, omdat deze ook het teken '' telt. Voor array en pointer retourneert de operator sizeof de toegewezen grootte van respectievelijk de array en de aanwijzer.

//Voorbeeld3.c
#erbij betrekken

inthoofd()
{
charstr1[30] = 'SNAAR';
char *str2=str1;

printf ('Lengte van 'SNAAR' is => %dN',(De grootte van('SNAAR') - 1));
printf ('Toegewezen grootte van de str1 array is => %dN',De grootte van(str1));
printf ('Grootte van de str2 pointer is => %dN',De grootte van(str2));

opbrengst 0;
}

Hier, in regel nr. 9, geven we de letterlijke tekenreeks STRING door en krijgen we de grootte, inclusief het ''-teken. Dus we trekken 1 af en krijgen de werkelijke grootte van de string.

Wanneer we een array doorgeven aan de operator sizeof, retourneert het de toegewezen grootte van de array, die 30 is, en bij het doorgeven van een tekenaanwijzer, retourneert het de grootte van de aanwijzer.

Conclusie

Dus in deze tutorial hebben we je laten zien hoe stringlengte op verschillende manieren kan worden berekend. U kunt in uw code de methode gebruiken die het beste bij u past.