C Programmering

Stränglängd i C-språk

Stränglängd i C-språk
En sträng i C-språket är en matris med tecken som avslutas med ett null-tecken (\ 0). Stränglängden är antalet tecken i en sträng. I stränglängden '\ 0' räknas inte ett tecken.

I exemplet som visas ovan, längden på strängen str är 6.

I den här handledningen visar vi först hur man använder en användardefinierad funktion för att beräkna längden på en sträng, och sedan visar vi dig en inbyggd biblioteksfunktion strlen (). Vi visar dig också användningen av storlek av operatör för strängbokstäver.

Stränglängd med användardefinierad funktion

Du kan skriva en användardefinierad funktion som returnerar antalet tecken i en sträng.

// Exempel1.c
#omfatta
int stringLength (char * str)

int i = 0;
medan (str [i] != '\ 0') i ++;
returnera i;

int main ()

char str [30] = "STRING";
printf ("Strängens längd är =>% d \ n", stringLength (str));
returnera 0;

Här upprepar vi stundslingan från i = 0 tills vi inte stöter på '\ 0' karaktär. Värdet av i ökas med 1 i varje iteration av stundslingan. När slingan slutar kommer värdet på i är strängens längd.

Stränglängd med inbyggd biblioteksfunktion

Den inbyggda biblioteksfunktionen strlen () kan också användas för att bestämma stränglängd.

strlen () -funktion:

Rubrikfil:

sträng.h

Syntax:

size_t strlen (const char * str)

Argument: Denna funktion tar ett argument av typpekaren till char.

Returvärde: Den här funktionen returnerar strängens längd str. Anteckna det storlek_t är bara ett alias för ett osignerat heltal.

// Exempel2.c
#omfatta
#omfatta
int main ()

char str1 [30] = "STRING ARRAY";
char * str2;
char * str3;
str2 = str1;
str3 = "STRING POINTER";
printf ("Strängens längd str1 är =>% ld \ n", strlen (str1));
printf ("Strängens längd str2 är =>% ld \ n", strlen (str2));
printf ("Strängens längd str3 är =>% ld \ n", strlen (str3));
printf ("Strängens längd" STRING LITERALS "är =>% ld \ n", strlen ("STRING LITERALS"));
returnera 0;

Här skickar vi strängmatris, strängpekare och sträng bokstavligt till strlen-funktionen, och funktionen returnerar strängens längd.

Stränglängd med användarens storlek

Vi kan också använda storlek av operatör för stränglängd (endast för strängbokstav). Men vi måste subtrahera 1 från det värde som returneras av denna operatör, eftersom det också räknar tecknet '\ 0'. För matris och pekare returnerar operatörens storlek den tilldelade storleken för matrisen respektive pekaren.

// Exempel3.c
#omfatta
int main ()

char str1 [30] = "STRING";
char * str2 = str1;
printf ("STRING" är =>% d \ n ", (sizeof (" STRING ") - 1));
printf ("Tilldelad storlek för str1-matrisen är =>% d \ n", sizeof (str1));
printf ("Str2-pekarens storlek är =>% d \ n", sizeof (str2));
returnera 0;

Här, i rad nr 9, passerar vi strängen bokstavlig "STRING" och får storleken, inklusive '\ 0' karaktär. Så vi subtraherar 1 och får strängens faktiska storlek.

När vi skickar en matris till operatörens storlek returnerar den den tilldelade storleken på matrisen, som är 30, och när du skickar en teckenpekare returnerar den storleken på pekaren.

Slutsats

Så i denna handledning har vi visat dig hur stränglängden kan beräknas på olika sätt. Du kan använda din kod vilken metod som passar dig bäst.

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...
Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...
De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...