C Programmeren

Stringlengte in C-taal

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

In het bovenstaande voorbeeld is de lengte van de string str 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.

//Voorbeeld 1.c
#include
int stringLength(char *str)

int i=0;
while(str[i] != '\0') i++;
retour ik;

int hoofd()

char str[30]= "STRING";
printf("Lengte van de string str is => %d\n",stringLength(str));
retourneer 0;

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

Stringlengte met ingebouwde bibliotheekfunctie

De ingebouwde bibliotheekfunctie strlen() kan ook worden gebruikt om de snaarlengte te bepalen.

strlen() functie:

Header-bestand:

draad.h

Syntaxis:

size_t strlen (const char *str)

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

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

//Voorbeeld2.c
#include
#include
int hoofd()

char str1[30]="STRING ARRAY";
teken *str2;
teken *str3;
str2 = str1;
str3 = "STRING-POINTER";
printf("Lengte van de string str1 is => %ld\n",strlen(str1));
printf("Lengte van de string str2 is => %ld\n",strlen(str2));
printf("Lengte van de string str3 is => %ld\n",strlen(str3));
printf("Lengte van de string "STRING LITERALS" is => %ld\n",strlen("STRING LITERALS"));
retourneer 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 stringlengte (alleen voor letterlijke string). Maar we moeten 1 aftrekken van de waarde die door deze operator wordt geretourneerd, omdat deze ook het teken '\0' telt. Voor array en pointer retourneert de operator sizeof de toegewezen grootte van respectievelijk de array en de aanwijzer.

//Voorbeeld3.c
#include
int hoofd()

char str1[30] = "STRING";
char *str2 =str1;
printf("Lengte van "STRING" is => %d\n",(sizeof("STRING") - 1));
printf("Toegewezen grootte van de str1 array is => %d\n",sizeof(str1));
printf("Grootte van de str2-aanwijzer is => %d\n",sizeof(str2));
retourneer 0;

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

Wanneer we een array doorgeven aan de operator sizeof, retourneert deze de toegewezen grootte van de array, die 30 is, en wanneer een tekenaanwijzer wordt doorgegeven, wordt de grootte van de aanwijzer geretourneerd.

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.

Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...