Está en la página 1de 13

CADENAS DE CARACTERES

EN C++
CADENAS DE CARACTERES
Una cadena o string de caracteres es un vector con componentes de tipo char.
Se define de la siguiente manera:
char <Nombre> [<Cantidad de caracteres>];
Ejemplo:

char cadena[8];
La variable cadena puede almacenar hasta 7 caracteres (lo definimos de 8 ya que requiere un carácter
para indicar el fin)

No existe operador de asignación para cadenas.

Podemos definir y almacenar inmediatamente la cadena:

char cadena [8]="hola";


Al definir la cantidad de componentes que tendrá el vector, debemos tener en cuenta que necesitamos
un elemento para guardar el terminador de cadena. El terminador de cadena (‘\0’) marca el fin del
vector de caracteres.
CADENAS DE CARACTERES
El contenido de cada componente del vector es el siguiente:

componente [0] [1] [2] [3] [4] [5] [6] [7]


Cadena 'h' 'o' 'l' 'a' '\0‘

Ejemplo
Crear un programa que defina dos vectores de caracteres con los nombres de meses de "enero" y
"febrero". Mostrar luego por pantalla los dos vectores
#include<iostream>
using namespace std;
int main()
{
char mes1[20]="enero";
char mes2[20]="febrero";
cout <<mes1;
cout <<"\n";
cout <<mes2;
return 0;
}
CADENAS DE CARACTERES
Para ingresar cadenas de caracteres por teclado debemos emplear el método getline del objeto cin (le
pasamos como parámetro la cadena a ingresar y el tamaño de la cadena):

cin.getline(cadena,40);

#include <iostream>
using namespace std;

int main()
{
char nombre[40];
cout <<"Ingrese su nombre:";
cin.getline(nombre,40);
cout <<"El nombre ingresado es:";
cout <<nombre;
return 0;
}
Función Printf y Scanf

La función printf transporta datos desde la memoria a la El modificador está compuesto por el carácter %
seguido por un carácter de conversión, que indica
pantalla. Devuelve el número de caracteres escritos.
de que tipo de dato se trata.

El prototipo de la sentencia printf es el siguiente: EJEMPLO

printf(control,arg1,arg2...);

En la cadena de control indicamos la forma en que se


mostrarán los argumentos posteriores. También podemos
introducir una cadena de texto ( sin necesidad de
argumentos ), o combinar ambas posibilidades, así como
secuencias de escape.

En el caso de que utilicemos argumentos deberemos


indicar en la cadena de control tantos modificadores como
argumentos vayamos a presentar.
Modificadores en C++

EJEMPLO
Modificadores en C++
Si en la cadena de formato aparecen varias
marcas, los valores a incluir se toman en el mismo
orden en el que aparecen. La siguiente figura
muestra un ejemplo en el que la cadena de
formato tiene tres marcas, %s, %d y %5.2f, que se
procesan utilizando respectivamente la cadena
“red”, el entero 1234567 y el número real 3.14.

EJEMPLO
Función Printf y Scanf
Su característica es que necesita saber la
La función scanf, envía datos desde el teclado para posición de la memoria del computador en que se
encuentra la variable para poder almacenar la
almacenarlos en la memoria. información obtenida. Para indicarle esta posición
utilizaremos el símbolo ampersand ( & ), que
El prototipo de la sentencia scanf es el siguiente: colocaremos delante del nombre de cada
variable. ( Esto no será necesario en los arrays ).
scanf(control,arg1,arg2...);

En la cadena de control indicaremos, por regla general, los


modificadores que harán referencia al tipo de dato de los
argumentos. Al igual que en la sentencia printf los
modificadores estarán formados por el carácter % seguido de
un carácter de conversión. Los argumentos indicados serán,
nuevamente, las variables.
Librería String.h Funciones strcopy, strcat, strlen
A través de la librería string.h podemos usar distintas funciones relacionadas con cadenas. Para usar estas
funciones debemos escribir #include <string.h> en cabecera de nuestro programa.
Ejercicios

• Escribe un programa que pida tres cadenas al usuario y muestre


su longitud (número de letras).

• Una las dos primeras cadenas capturadas por teclado.

• Mostrar un mensaje que diga si la primera y tercera cadena son


iguales.
Funciones Gets y Puts
gets: Función que se encarga de leer y almacenar una cadena de caracteres introducida mediante
el teclado. La variable es guardada hasta que haya un salto de línea (“\n”), sin embargo, el salto
de línea NO se guarda.

fgets: Función que se encarga de leer o almacenar una cadena de caracteres introducida
mediante el teclado. La variable es guardada hasta que haya un salto de línea (“\n”), el salto de
línea SI se guarda.

puts: Función que se encarga de mostrar (Dato de salida) una cadena de caracteres especifica. Es
el equivalente al “printf”
Funciones gets y puts

#include <stdio.h>

int main() {
char cadena[20]; //Declaramos nuestra cadena con límite de caracteres

printf("Ingresa la cadena que deseas guadar: \n");


gets(cadena);
printf("\n");
printf("La cadena guardada es: ");
puts(cadena);
return 0;
}
Funciones gets y puts

#include <stdio.h>

int main() {
char cadena[20];

printf("Ingresa la cadena que deseas guadar: \n");


fgets(cadena,20,stdin);
printf("\n");
printf("La cadena guardada es: ");
puts(cadena);
return 0;}

También podría gustarte