Longitud de la cadena en llenguatge C.

String Length C Language



Una cadena en llenguatge C és una matriu de caràcters que finalitza amb un caràcter nul ( 0). La longitud de la cadena és el nombre de caràcters d’una cadena. A la longitud de la cadena ' 0' no es compta un caràcter.







A l'exemple mostrat anteriorment, la longitud de la cadena pàg és 6.



En aquest tutorial, primer, mostrarem com utilitzar un fitxer funció definida per l'usuari per calcular la longitud d'una cadena i, a continuació, us mostrarem una funció de biblioteca integrada strlen () . També us mostrem els usos del fitxer mida de operador de literals de cadena.



Longitud de la cadena mitjançant la funció definida per l'usuari

Podeu escriure una funció definida per l'usuari que retorni el nombre de caràcters d'una cadena.





//Example1.c
#incloure

intlongitud de corda(char *pàg)
{
intjo=0;

mentre(pàg[jo] ! = ' 0')jo++;

tornarjo;
}

intprincipal()
{
charpàg[30]= 'STRING';

printf ('La longitud de la cadena str és =>% d n',longitud de corda(pàg));

tornar 0;
}

Aquí iterem el bucle while des de i = 0 fins que no ens trobem amb el ' 0' personatge. El valor de jo augmenta en 1 en cada iteració del bucle while. Quan finalitza el bucle, el valor de jo és la longitud de la corda.



Longitud de cadena mitjançant la funció de biblioteca integrada

La funció de biblioteca integrada strlen () també es pot utilitzar per determinar la longitud de la corda.

funció strlen ():

Fitxer de capçalera:

corda.h

Sintaxi:

mida_t strlen (const char *pàg)

Argument: Aquesta funció pren un argument del tipus punter a char.

Valor de retorn: Aquesta funció retorna la longitud de la cadena pàg . Tingues en compte que mida_t és només un àlies d'un enter sense signar.

//Example2.c
#incloure
#incloure

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

str2=str1;
str3= 'STRING POINTER';

printf ('La longitud de la cadena str1 és =>% ld n', strlen (str1));
printf ('La longitud de la cadena str2 és =>% ld n', strlen (str2));
printf ('La longitud de la cadena str3 és =>% ld n', strlen (str3));
printf ('Longitud de la corda'LITERALS DE CORDA'is =>% ld n', strlen ('LITERALS DE CORDA'));

tornar 0;
}

Aquí, passem matriu de cadena, punter de cadena i literal de cadena a la funció strlen, i la funció retorna la longitud de la cadena.

Longitud de la cadena utilitzant sizeof Operator

També podem utilitzar el fitxer mida de operador per a la longitud de la cadena (només per a la cadena literal). Però hem de restar 1 del valor retornat per aquest operador, perquè també compta el caràcter ' 0'. Per a la matriu i el punter, l'operador sizeof retorna la mida assignada de la matriu i del punter, respectivament.

//Example3.c
#incloure

intprincipal()
{
charstr1[30] = 'STRING';
char *str2=str1;

printf ('Longitud de'CORDA'és =>% d n',(mida de('STRING') - 1));
printf ('La mida assignada de la matriu str1 és =>% d n',mida de(str1));
printf ('La mida del punter str2 és =>% d n',mida de(str2));

tornar 0;
}

Aquí, a la línia núm. 9, passem la cadena literal STRING i obtenim la mida, inclòs el caràcter « 0». Per tant, restem 1 i obtenim la mida real de la cadena.

Quan passem una matriu a l’operador sizeof, retorna la mida assignada de la matriu, que és 30, i en passar un punter de caràcters, retorna la mida del punter.

Conclusió

Per tant, en aquest tutorial us hem mostrat com es pot calcular la longitud de la corda de diverses maneres. Podeu utilitzar al codi el mètode que més us convingui.