Strenglengde på C -språk

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

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

I denne opplæringen vil vi først vise hvordan du bruker en Brukerdefinert funksjon For å beregne lengden på en streng, og så viser vi deg en innebygd bibliotekfunksjon Strlen (). Vi viser deg også bruken av størrelsen av Operatør for strenglitteraler.

Strenglengde ved hjelp av brukerdefinert funksjon

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

// Eksempel1.c
#inkludere
int stringLength (char *str)

int i = 0;
mens (str [i] != '\ 0') i ++;
Returner jeg;

int main ()

char str [30] = "streng";
printf ("lengde på strengen er => %d \ n", strenglengde (str));
retur 0;

Her itererer vi mens Loop fra i = 0 til vi ikke møter '\ 0' karakter. Verdien av Jeg økes med 1 I hver iterasjon av stundsløyfen. Når sløyfen slutter, verdien av Jeg er lengden på strengen.

Strenglengde ved hjelp av innebygd bibliotekfunksjon

Den innebygde bibliotekfunksjonen Strlen () kan også brukes til å bestemme strenglengde.

strlen () funksjon:

Headerfil:

streng.h

Syntaks:

størrelse_t strlen (const char *str)

Argument: Denne funksjonen tar et argument for typen peker til røye.

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

// Eksempel2.c
#inkludere
#inkludere
int main ()

char str1 [30] = "String array";
char *str2;
char *str3;
str2 = str1;
STR3 = "String Pointer";
printf ("lengde på strengen str1 er => %ld \ n", strlen (str1));
printf ("lengde på strengen str2 er => %ld \ n", strlen (str2));
printf ("lengde på strengen str3 er => %ld \ n", strlen (str3));
printf ("lengde på strengen" strenglitteraler "er => %ld \ n", strlen ("String literals"));
retur 0;

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

Strenglengde ved hjelp av størrelse på operatøren

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

// Eksempel3.c
#inkludere
int main ()

char str1 [30] = "streng";
char *str2 = str1;
printf ("lengde på" streng "er => %d \ n", (størrelse av ("streng") - 1));
printf ("Tildelt størrelse på STR1 -arrayen er => %d \ n", størrelse av (str1));
printf ("størrelse på str2 -pekeren er => %d \ n", størrelse av (str2));
retur 0;

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

Når vi overfører en matrise til størrelsen på operatøren, returnerer den den tildelte størrelsen på matrisen, som er 30, og når du passerer en karakterpeker, 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, uansett hvilken metode som passer best for deg.