Strenglengde på C -språk

String Length C Language



En streng på C -språk er en rekke tegn som avsluttes med et nulltegn ( 0). Strenglengden er antall tegn i en streng. I strenglengden ' 0' telles ikke et tegn.







I eksemplet vist ovenfor, lengden på strengen s er 6.



I denne opplæringen vil vi først vise hvordan du bruker a brukerdefinert funksjon for å beregne lengden på en streng, og så viser vi deg en innebygd biblioteksfunksjon strlen () . Vi viser deg også bruken av størrelsen av operatør for strengbokstaver.



Strenglengde ved bruk av brukerdefinert funksjon

Du kan skrive en brukerdefinert funksjon som returnerer antall tegn i en streng.





//Eksempel1.c
#inkludere

intstringLength(røye *s)
{
intJeg=0;

samtidig som(s[Jeg] ! = ' 0')Jeg++;

komme tilbakeJeg;
}

inthoved-()
{
røyes[30]= 'STRING';

printf ('Lengden på strengen str er => %d n',stringLength(s));

komme tilbake 0;
}

Her gjentar vi mens loop fra jeg = 0 til vi ikke støter på ' 0' karakter. Verdien av Jeg økes med 1 i hver iterasjon av while -løkken. Når sløyfen slutter, verdien av Jeg er lengden på strengen.



Strenglengde ved hjelp av innebygd biblioteksfunksjon

Den innebygde biblioteksfunksjonen strlen () kan også brukes til å bestemme strenglengden.

strlen () -funksjon:

Toppfil:

streng.h

Syntaks:

størrelse_t strlen (konst røye *s)

Argument: Denne funksjonen tar et argument av typen peker til char.

Returverdi: Denne funksjonen returnerer lengden på strengen s . Noter det størrelse_t er bare et alias for et usignert heltall.

//Eksempel2.c
#inkludere
#inkludere

inthoved-()
{
røyestr1[30]='STRING ARRAY';
røye *str2;
røye *str3;

str2=str1;
str3= 'STRING POINTER';

printf ('Lengden på strengen str1 er => %ld n', strlen (str1));
printf ('Lengden på strengen str2 er => %ld n', strlen (str2));
printf ('Lengden på strengen str3 er => %ld n', strlen (str3));
printf ('Lengden på strengen'STRING LITERALER'er => %ld n', strlen ('STRING LITERALS'));

komme tilbake 0;
}

Her sender vi strengmatrise, strengpeker og streng bokstavelig til strlen -funksjonen, og funksjonen returnerer lengden på strengen.

Strenglengde ved bruk av operatørstørrelse

Vi kan også bruke størrelsen av operator for strenglengde (bare for streng bokstavelig). Men vi må trekke 1 fra verdien returnert av denne operatøren, fordi den også teller ' 0' -tegnet. For matrise og peker returnerer sizeof -operatøren den tildelte størrelsen på henholdsvis matrisen og pekeren.

//Eksempel3.c
#inkludere

inthoved-()
{
røyestr1[30] = 'STRING';
røye *str2=str1;

printf ('Lengden av 'STRING'er => %d n',(størrelsen av('STRING') - 1));
printf ('Allokert størrelse på str1 -matrisen er => %d n',størrelsen av(str1));
printf ('Størrelsen på str2 -pekeren er => %d n',størrelsen av(str2));

komme tilbake 0;
}

Her, i linje nr. 9, passerer vi strengen bokstavelig STRING og får størrelsen, inkludert ' 0' -tegnet. Så, vi trekker fra 1 og får den faktiske størrelsen på strengen.

Når vi sender en matrise til operatorens størrelse, returnerer den den tildelte størrelsen på matrisen, som er 30, og når du sender en tegnpeker, returnerer den størrelsen på pekeren.

Konklusjon

Så i denne opplæringen har vi vist deg hvordan strenglengde kan beregnes på forskjellige måter. Du kan bruke i koden din hvilken metode som er best egnet for deg.