string.h es una librerÃa de c++ que contiene funciones que nos facilitan la vida al trabajar con cadenas o strings. Una cadena es un conjunto de caracteres almacenados en una variable.
DeberÃamos saber que char es un tipo de dato que almacena un caracter, por lo tanto un arreglo lineal de caracteres es una cadena:
char str[100];
Ahora podemos llenar nuestra cadena..
str ="Soy una cadena";
…y mostrarla
cout << str;
Pero recuerden que no podemos hacer nada de esto si no tenemos incluida la librerÃa string.h. Vamos a ver un programa de ejemplo:
#include<string.h> #include<iostream> using namespace std; int main() { char esunacadena[100] = "Soy una cadena", esunacopia[100]; strcpy(esunacopia, esunacadena); strcat(esunacopia, " - copia"); cout << esunacadena << endl << esunacopia; cin.get(); return 0; }
- Primero declaramos dos cadenas (‘esunacadena’ y ‘esunacopia’) que pueden tener hasta 100 caracteres, ‘esunacadena’ la llenamos con el texto “Soy una cadena“.
- Luego con la función strcpy copiamos el contenido de ‘esunacadena’ a ‘esunacopia’. Ahora las dos cadenas tienen el mismo texto.
- Ahora con la función strcat agregamos el texto ” - copia” al final de’esunacopia’.
- Al final solo mostramos las dos cadenas.
Bastante fácil ¿no? En los próximos dÃas voy a postear otros programas muy sencillos para seguir checando las funciones mas comunes para trabajar con cadenas.
Hola! Gracias por tu estupendo blog que a todos nos está ayudando en este mundo tan grande como es la programación.
mi pregunta es cómo introducir una cadena con espacios a través del teclado para luego poder utilizar el operador strlen u otro.
Saludos y gracias
Gracias a ustedes los lectores :)
Para introducir cadenas lo mas común es usar la función cin.getline(), aquà explico como usarla: http://codigoc.org/464-como-usar-cin-getline-en-c
necesito ingresar una cadena y compararla
dependiendo de la cadena va a realizarse una accion
como lo hago soy nuevo en esto
como podemos contar las palabras no contar cada caracter sino por palabras y con punteros???