C Programovanie

Dĺžka reťazca v jazyku C

Dĺžka reťazca v jazyku C
Reťazec v jazyku C je pole znakov, ktoré sú ukončené nulovým znakom (\ 0). Dĺžka reťazca predstavuje počet znakov v reťazci. V dĺžke reťazca „\ 0“ sa znak nepočíta.

V príklade uvedenom vyššie dĺžka reťazca str je 6.

V tomto návode si najskôr ukážeme, ako používať a používateľom definovaná funkcia vypočítať dĺžku reťazca a potom vám ukážeme vstavanú funkciu knižnice strlen (). Ukážeme vám tiež použitie veľkosť operátor pre reťazcové literály.

Dĺžka reťazca pomocou funkcie definované používateľom

Môžete napísať používateľom definovanú funkciu, ktorá vráti počet znakov v reťazci.

// Príklad1.c
#include
int stringLength (char * str)

int i = 0;
while (str [i] != '\ 0') i ++;
návrat i;

int main ()

char str [30] = "STRING";
printf ("Dĺžka reťazca str je =>% d \ n", stringLength (str));
návrat 0;

Tu iterujeme cyklus while z i = 0 kým sa nestretneme s „\ 0“ znak. Hodnota i sa zvyšuje o 1 v každej iterácii cyklu while. Keď slučka končí, hodnota i je dĺžka šnúrky.

Dĺžka reťazca pomocou funkcie vstavanej knižnice

Zabudovaná funkcia knižnice strlen () možno tiež použiť na určenie dĺžky reťazca.

funkcia strlen ():

Hlavičkový súbor:

struna.h

Syntax:

size_t strlen (const char * str)

Argument: Táto funkcia prevezme argument ukazovateľa typu na char.

Návratová hodnota: Táto funkcia vráti dĺžku reťazca str. Poznač si to size_t je len alias celého čísla bez znamienka.

// Príklad2.c
#include
#include
int main ()

char str1 [30] = "STRINGOVÉ POLE";
char * str2;
char * str3;
str2 = str1;
str3 = "STRING POINTER";
printf ("Dĺžka reťazca str1 je =>% ld \ n", strlen (str1));
printf ("Dĺžka reťazca str2 je =>% ld \ n", strlen (str2));
printf ("Dĺžka reťazca str3 je =>% ld \ n", strlen (str3));
printf ("Dĺžka reťazca" STRING LITERALS "je =>% ld \ n", strlen ("STRING LITERALS"));
návrat 0;

Tu odovzdáme funkcii strlen pole reťazcov, ukazovateľ reťazca a reťazcový literál a funkcia vráti dĺžku reťazca.

Dĺžka reťazca pomocou operátora sizeof

Môžeme tiež použiť veľkosť operátor pre dĺžku reťazca (iba pre reťazcový literál). Musíme ale odpočítať 1 od hodnoty vrátenej týmto operátorom, pretože sa tiež počíta znak '\ 0'. Pre pole a ukazovateľ vráti operátor sizeof pridelenú veľkosť poľa a ukazovateľa.

// Príklad3.c
#include
int main ()

char str1 [30] = "STRING";
char * str2 = str1;
printf ("Dĺžka" STRING "je =>% d \ n", (sizeof ("STRING") - 1));
printf ("Pridelená veľkosť poľa str1 je =>% d \ n", veľkosť (str1));
printf ("Veľkosť ukazovateľa str2 je =>% d \ n", sizeof (str2));
návrat 0;

Tu v riadku č. 9 odovzdáme reťazcový literál „STRING“ a dostaneme veľkosť vrátane znaku „\ 0“. Odčítame teda 1 a dostaneme skutočnú veľkosť reťazca.

Keď odovzdáme pole operátoru sizeof, vráti pridelenú veľkosť poľa, ktorá je 30, a pri odovzdávaní znakového ukazovateľa vráti veľkosť ukazovateľa.

Záver

V tomto tutoriáli sme vám teda ukázali, ako sa dá dĺžka reťazca vypočítať rôznymi spôsobmi. Vo svojom kóde môžete použiť ľubovoľnú metódu, ktorá je pre vás najvhodnejšia.

Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...
Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...
Pridajte gestá myši do systému Windows 10 pomocou týchto bezplatných nástrojov
V posledných rokoch sa počítače a operačné systémy veľmi vyvinuli. Boli časy, keď používatelia museli prechádzať správcami súborov pomocou príkazov. R...