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