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.hSzintaxis:
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.