Programación en C - Cadenas de Caracteres - Wikilibros
Programación en C - Cadenas de Caracteres - Wikilibros
Las cadenas de caracteres (también llamadas cadenas o strings) son un tipo particular de vectores, que como su nombre lo dice son vectores de
char, con la particularidad que tienen una marca en el fin del mismo (el caracter '\0'), además el lenguaje nos permite escribirlas como texto
dentro de comillas dobles si son simples no. Veamos unos ejemplos de su declaración:
char cadena_hola[]="Hola";
char otro_hola[]={'H','o','l','a','\0'}; // Igual al anterior
char vector[]={'H','o','l','a'}; /* Un vector de 4 elementos,
con los elementos 'H','o','l' y 'a' */
char espacio_cadena[1024]="Una cadena en C";
char cadena_vacia[]="";
Cómo vimos anteriormente al declarar un vector se define la cantidad de elementos que puede contener, en el caso de las cadenas se debe tener
en cuenta el espacio adicional necesario para el \0. Viendo el ejemplo, tanto cadena_hola y otro_hola tienen un largo 5 y cadena_vacia tiene un
largo de 1.
También vimos anteriormente que al usar vectores debemos tener en cuenta su largo, y así es que el largo o cantidad de elemento lo necesitamos
en todas las funciones que definimos usando vectores y lo recibimos como un parámetro más en estas, en el caso de las cadenas al tener una
marca de fin podemos prescindir del largo y procesar una cadenas hasta llegar a la marca de fin.
https://es.wikibooks.org/wiki/Programación_en_C/Cadenas_de_caracteres 1/4
2/5/24, 14:14 Programación en C/Cadenas de caracteres - Wikilibros
while (cadena[largo]!='\0') largo++;
return largo;
}
Se debe tener en cuenta que el largo de una cadena y el largo del vector con la que se representa son distintos, tanto por como largo_cadena()
cuenta el largo de la cadena, como por espacio_cadena del ejemplo anterior.
Estos dos ejemplos son versiones simplificadas de funciones provistas por la biblioteca estándar de C a través del encabezado string.h. Nuestro
largo_cadena() es similar al strlen() de la biblioteca estándar, y unir_cadenas() se asemeja al strncat(). Si bien ver estas versiones nos sirven
para entender las cadenas en C, en general será preferible usar las funciones provistas por la biblioteca estándar, ya que podemos estar seguros
que van a estar programadas de la mejor manera posible.
Entre las funciones que provee la biblioteca estándar de C, las más importantes son:
https://es.wikibooks.org/wiki/Programación_en_C/Cadenas_de_caracteres 2/4
2/5/24, 14:14 Programación en C/Cadenas de caracteres - Wikilibros
posicion = strstr(cadena,subcadena) // Devuelve la posición en memoria de la primer
// aparición de subcadena dentro de cadena
#include <stdio.h>
#include <string.h>
...
char color[] = "rojo";
char grosor[] = "grueso";
...
char descripcion[1024];
https://es.wikibooks.org/wiki/Programación_en_C/Cadenas_de_caracteres 3/4
2/5/24, 14:14 Programación en C/Cadenas de caracteres - Wikilibros
Obtenido de «https://es.wikibooks.org/w/index.php?title=Programación_en_C/Cadenas_de_caracteres&oldid=358866»
https://es.wikibooks.org/wiki/Programación_en_C/Cadenas_de_caracteres 4/4