C programozás

Karakterlánc hossza C nyelven

Karakterlánc hossza C nyelven
A C nyelvű karakterlánc egy tömb karakter, amelyet null karakterrel zárnak le (\ 0). A karakterlánc hossza a karakterláncok száma. A '\ 0' karakterlánc hosszában egy karakter nem számít bele.

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

Ebben az oktatóanyagban először bemutatjuk a felhasználó által definiált függvény egy karakterlánc hosszának kiszámításához, majd megmutatjuk a beépített könyvtár függvényt strlen (). Megmutatjuk a mérete operátor a string literálokhoz.

Karakterlánc hossza a felhasználó által definiált függvény használatával

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

// Példa1.c
#include
int stringLength (char * str)

int i = 0;
míg (str [i] != '\ 0') i ++;
visszatérés i;

int main ()

char str [30] = "STRING";
printf ("A karakterlánc hossza =>% d \ n", stringLength (str));
visszatér 0;

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

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

A beépített könyvtár funkció strlen () karakterlánc hosszának meghatározásához is használható.

strlen () függvény:

Fejlécfájl:

húr.h

Szintaxis:

size_t strlen (const char * str)

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

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

// 2. példa.c
#include
#include
int main ()

char str1 [30] = "HÚZÓTÁV";
char * str2;
char * str3;
str2 = str1;
str3 = "HÚZÓ MUTATÓ";
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" STRING LITERALS "karakterlánc hossza =>% ld \ n", strlen ("STRING LITERALS");
visszatér 0;

Itt adjuk át a string tömböt, a karakterláncot és a karakterláncot a strlen függvénynek, és a függvény visszaadja a karakterlánc hosszát.

Karakterlánc hossza az Operator méretének használatával

Használhatjuk a mérete operátor a karakterlánc hosszához (csak a string literálhoz). De le kell vonnunk 1-t az operátor által visszaadott értékből, mert ez a '\ 0' karaktert is megszámolja. Tömb és mutató esetén a sizeof operátor visszaadja a tömb és a mutató allokált méretét.

// 3. példa.c
#include
int main ()

char str1 [30] = "STRING";
char * str2 = str1;
printf ("A" STRING "hossza =>% d \ n", (sizeof ("STRING") - 1));
printf ("Az str1 tömb elosztott mérete =>% d \ n", sizeof (str1));
printf ("Az str2 mutató mérete =>% d \ n", sizeof (str2));
visszatér 0;

Itt a 9. sorban adjuk át a „STRING” szó szerinti 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 átadunk egy tömböt a sizeof operátornak, akkor az visszaadja a tömb kiosztott méretét, amely 30, és egy karaktermutató átadásakor a mutató méretét adja vissza.

Következtetés

Tehát ebben az oktatóanyagban megmutattuk, hogyan lehet a karakterlánc hosszát különféle módon kiszámítani. Használhatja a kódban azt a módszert, amelyik a legalkalmasabb az Ön számára.

A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...
Hasznos eszközök Linux játékosok számára
Ha szeretsz Linuxon játszani, akkor valószínű, hogy olyan alkalmazásokat és segédprogramokat használtál, mint a Wine, a Lutris és az OBS Studio a játé...
HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...