Programación en C

Longitud de cadena en lenguaje C

Longitud de cadena en lenguaje C
Una cadena en lenguaje C es una matriz de caracteres que 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', no se cuenta un carácter.

En el ejemplo que se muestra arriba, la longitud de la cadena str 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 te mostramos los usos del tamaño de operador para cadenas literales.

Longitud de la cadena mediante 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 ++;
volver i;

int main ()

char str [30] = "CADENA";
printf ("La longitud de la cadena str es =>% d \ n", stringLength (str));
return 0;

Aquí, iteramos el ciclo while de i = 0 hasta que no encontremos el '\ 0' personaje. El valor de I se incrementa en 1 en cada iteración del ciclo while. Cuando termina el ciclo, el valor de I es la longitud de la cuerda.

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

La función de biblioteca incorporada strlen () también se puede utilizar para determinar la longitud de la cuerda.

función strlen ():

Archivo de cabecera:

cuerda.h

Sintaxis:

size_t strlen (const char * str)

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

Valor devuelto: Esta función devuelve la longitud de la cadena str. Tenga en cuenta que size_t es solo un alias de un entero sin signo.

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

char str1 [30] = "MATRIZ DE CADENAS";
char * str2;
char * str3;
str2 = str1;
str3 = "PUNTERO DE CADENA";
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 ("La longitud de la cadena" STRING LITERALS "es =>% ld \ n", strlen ("STRING LITERALS"));
return 0;

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

Longitud de cadena usando sizeof Operator

También podemos utilizar el tamaño de operador para longitud de cadena (solo para literal de cadena). Pero, tenemos que restar 1 del valor devuelto por este operador, porque también cuenta el carácter '\ 0'. Para matriz y 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 ("La longitud de" STRING "es =>% d \ n", (sizeof ("STRING") - 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));
return 0;

Aquí, en la línea 9, pasamos la cadena literal "STRING" 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 mostramos cómo se puede calcular la longitud de la cuerda de varias maneras. Puede utilizar en su código el método que mejor se adapte a sus necesidades.

Vuelva a asignar los botones del mouse de manera diferente para diferentes programas con X-Mouse Button Control
Tal vez necesite una herramienta que pueda hacer que el control de su mouse cambie con cada aplicación que use. Si este es el caso, puede probar una a...
Revisión del mouse inalámbrico Microsoft Sculpt Touch
Recientemente leí sobre el Microsoft Sculpt Touch mouse inalámbrico y decidí comprarlo. Después de usarlo por un tiempo, decidí compartir mi experienc...
Trackpad en pantalla y puntero del mouse AppyMouse para tabletas Windows
Los usuarios de tabletas a menudo pierden el puntero del mouse, especialmente cuando son habituales para usar las computadoras portátiles. Los teléfon...