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