Longitud de la cadena en el lenguaje C

Longitud de la cadena en el lenguaje C
Una cadena en el lenguaje C es una variedad de caracteres que se termina con un carácter nulo (\ 0). La longitud de la cadena es el número de caracteres en una cadena. En la longitud de la cadena '\ 0,' un personaje no se cuenta.

En el ejemplo que se muestra arriba, la longitud de la cadena stri es 6.

En este tutorial, primero, mostraremos cómo usar un función definida por el usuario Para calcular la longitud de una cadena, y luego le mostraremos una función de biblioteca incorporada strlen (). También le mostramos los usos del tamaño de operador para literales de cadena.

Longitud de la cadena utilizando la función definida por el usuario

Puede escribir una función definida por el usuario que devuelve el número de caracteres en una cadena.

//Ejemplo 1.C
#incluir
int stringLength (char *str)

int i = 0;
mientras (str [i] != '\ 0') i ++;
regresar i;

int main ()

char str [30] = "cadena";
printf ("Longitud de la cadena Str Is => %d \ n", StringLength (Str));
regresar 0;

Aquí, iteramos el bucle mientras i = 0 Hasta que no encontremos el '\ 0' personaje. El valor de i se incrementa por 1 En cada iteración del bucle while. Cuando termina el bucle, el valor de i es la longitud de la cuerda.

Longitud de la cadena utilizando la función de biblioteca incorporada

La función de biblioteca incorporada strlen () También se puede usar para determinar la longitud de la cadena.

función strlen ():

Archivo de cabecera:

cadena.H

Sintaxis:

size_t strlen (const char *str)

Argumento: Esta función toma un argumento del tipo de puntero a Char.

Valor de retorno: Esta función devuelve la longitud de la cadena stri. Tenga en cuenta que size_t es solo un alias de un entero sin firmar.

// Ejemplo2.C
#incluir
#incluir
int main ()

char str1 [30] = "matriz de cadenas";
char *str2;
char *str3;
str2 = str1;
str3 = "String Pointer";
printf ("La longitud de la cadena str1 es => %ld \ n", strlen (str1));
printf ("La longitud de la cadena Str2 es => %ld \ n", strlen (str2));
printf ("La longitud de la cadena str3 es => %ld \ n", strlen (str3));
printf ("longitud de la cadena" literales de cadena "es => %ld \ n", strlen ("literales de cadena"));
regresar 0;

Aquí, pasamos una matriz de cadenas, puntero de cadena y cadena literal a la función strlen, y la función devuelve la longitud de la cadena.

Longitud de la cadena usando el operador sizeof

También podemos usar el tamaño de Operador para la longitud de la cadena (solo para cadena literal). Pero, tenemos que restar 1 del valor devuelto por este operador, porque también cuenta el carácter '\ 0'. Para la matriz y el puntero, el operador SizeOf devuelve el tamaño asignado de la matriz y el puntero, respectivamente.

// Ejemplo3.C
#incluir
int main ()

char str1 [30] = "cadena";
char *str2 = str1;
printf ("longitud de" cadena "es => %d \ n", (sizeOf ("cadena") - 1));
printf ("El tamaño asignado de la matriz Str1 es => %d \ n", sizeOf (str1));
printf ("El tamaño del puntero str2 es => %d \ n", sizeOf (str2));
regresar 0;

Aquí, en la línea no 9, pasamos la "cadena" literal de cadena y obtenemos el tamaño, incluido el carácter '\ 0'. Entonces, restamos 1 y obtenemos el tamaño real de la cadena.

Cuando pasamos una matriz al operador sizeOf, devuelve el tamaño asignado de la matriz, que es 30, y al pasar un puntero de carácter, devuelve el tamaño del puntero.

Conclusión

Entonces, en este tutorial, le hemos demostrado cómo la longitud de la cadena se puede calcular de varias maneras. Puede usar en su código, el método sea el más adecuado para usted.