MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

C Funciones de cadena


Funciones de cadena

C también tiene muchas funciones de cadena útiles, que se pueden usar para realizar ciertas operaciones en cadenas.

Para usarlos, debes incluir el archivo de encabezado <string.h> en tu programa:

#include <string.h>

Longitud de la cuerda

Por ejemplo, para obtener la longitud de una cadena, puede utilizar la función strlen():

Ejemplo

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));
Inténtalo tú mismo »

En el capítulo de Cadenas, usamos sizeof para obtener el tamaño de una cadena/matriz. Tenga en cuenta que sizeof y strlen se comportan de manera diferente, ya que sizeof también incluye el carácter \0 al contar:

Ejemplo

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));   // 26
printf("%d", sizeof(alphabet));   // 27
Inténtalo tú mismo »

También es importante que sepas que sizeof siempre devolverá el tamaño de la memoria (en bytes), y no la longitud real de la cadena:

Ejemplo

char alphabet[50] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));   // 26
printf("%d", sizeof(alphabet));   // 50
Inténtalo tú mismo »

Concatenar cadenas

Para concatenar (combinar) dos cadenas, puede utilizar la función strcat():

Ejemplo

char str1[20] = "Hello ";
char str2[] = "World!";

// Concatenar str2 con str1 (el resultado se almacena en str1)
strcat(str1, str2);

// Imprimir str1
printf("%s", str1);
Inténtalo tú mismo »

Tenga en cuenta que el tamaño de str1 debe ser lo suficientemente grande como para almacenar el resultado de las dos cadenas combinadas (20 en nuestro ejemplo).


Copiar cadenas

Para copiar el valor de una cadena a otra, puede usar la función strcpy():

Ejemplo

char str1[20] = "Hello World!";
char str2[20];

// Copiar str1 a str2
strcpy(str2, str1);

// Imprimir str2
printf("%s", str2);
Inténtalo tú mismo »

Tenga en cuenta que el tamaño de str2 debe ser lo suficientemente grande como para almacenar la cadena copiada (20 en nuestro ejemplo).


Comparar cadenas

Para comparar dos cadenas, puede utilizar la función strcmp().

Devuelve 0 si las dos cadenas son iguales, en caso contrario un valor que no es 0:

Ejemplo

char str1[] = "Hello";
char str2[] = "Hello";
char str3[] = "Hi";

// Compare str1 y str2 e imprima el resultado
printf("%d\n", strcmp(str1, str2));  // Devuelve 0 (las cadenas son iguales)

// Compare str1 y str3 e imprima el resultado
printf("%d\n", strcmp(str1, str3));  // Devuelve -4 (las cadenas no son iguales)
Inténtalo tú mismo »