Karakterlánc hossza C nyelven

String Length C Language



A C nyelvű karakterlánc karakterek tömbje, amely null karakterrel ( 0) fejeződik be. A karakterlánc hossza a karakterlánc karaktereinek száma. A „ 0” karakterláncban a karakter nem számít bele.







A fenti példában a karakterlánc hossza o az 6.



Ebben az oktatóanyagban először megmutatjuk, hogyan kell használni a felhasználó által definiált funkció egy húr hosszának kiszámításához, majd megmutatunk egy beépített könyvtári függvényt strlen () . Mutatjuk a használatát is mérete karakterlánc literál operátor.



Karakterlánc hossza a felhasználó által definiált funkció használatával

Írhat egy felhasználó által definiált függvényt, amely visszaadja a karakterlánc karaktereinek számát.





//Példa1.c
#befoglalni

intstringLength(char *o)
{
intén=0;

míg(o[én] ! = ' 0')én++;

Visszatérésén;
}

intfő-()
{
charo[30]= 'HÚR';

printf ('A karakterlánc hossza => %d n',stringLength(o));

Visszatérés 0;
}

Itt iteráljuk a while ciklusot i = 0 amíg nem találkozunk a ' 0' karakter. Az értéke én -kal növekszik 1 a while ciklus minden iterációjában. Amikor a ciklus véget ér, az értéke én a húr hossza.



Karakterlánc hossza a beépített könyvtári funkció használatával

A beépített könyvtári funkció strlen () a húr hosszának meghatározására is használható.

strlen () függvény:

Fejléc fájl:

húr.h

Szintaxis:

size_t strlen (const char *o)

Érv: Ez a függvény a típusmutató argumentumát a char -ba helyezi.

Visszaadási érték: Ez a függvény a karakterlánc hosszát adja vissza o . Vegye figyelembe, hogy size_t ez csak egy előjel nélküli egész szám álneve.

//Példa2.c
#befoglalni
#befoglalni

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

str2=str1;
str3= 'STRING POINTER';

printf ('Az str1 karakterlánc hossza => %ld n', strlen (str1));
printf ('Az str2 karakterlánc hossza => %ld n', strlen (str2));
printf ('Az str3 karakterlánc hossza => %ld n', strlen (str3));
printf ('A húr hossza'FONTOS IRODALOM'is => %ld n', strlen ('FONTOS IRODALOM'));

Visszatérés 0;
}

Itt a string tömböt, karakterlánc -mutatót és karakterlánc -literált adjuk át a strlen függvénynek, és a függvény visszaadja a karakterlánc hosszát.

Karakterlánc hossza az operátor méretével

Használhatjuk a mérete karakterlánc -hosszúságú operátor (csak karakterlánc esetén). Az operátor által visszaadott értékből azonban ki kell vonnunk 1 -et, mert az is számolja a „ 0” karaktert. A tömb és a mutató esetében a sizeof operátor visszaadja a tömb és a mutató hozzárendelt méretét.

//Példa3.c
#befoglalni

intfő-()
{
charstr1[30] = 'HÚR';
char *str2=str1;

printf ('Hossza 'HÚR'is => %d n',(mérete('HÚR') - 1));
printf ('Az str1 tömb kiosztott mérete => %d n',mérete(str1));
printf ('Az str2 mutató mérete => %d n',mérete(str2));

Visszatérés 0;
}

Itt, a 9. sorban átadjuk a STRING karakterláncot, és megkapjuk a méretet, beleértve a „ 0” karaktert. Tehát kivonunk 1 -et és megkapjuk a karakterlánc tényleges méretét.

Amikor egy tömböt átadunk a sizeof operátornak, az visszaadja a tömb kiosztott méretét, ami 30, és amikor átadunk egy karaktermutatót, akkor visszaadja a mutató méretét.

Következtetés

Tehát ebben az oktatóanyagban megmutattuk, hogyan lehet különböző módon kiszámítani a karakterlánc hosszát. A kódban használhatja azt a módszert, amely a legjobban megfelel Önnek.