You are on page 1of 13

Cadena de caracteres

Cadenas de Caracteres
Una cadena en es un conjunto de caracteres, o valores de tipo "char", terminados con el carcter nulo (\0). Internamente se almacenan en posiciones consecutivas de memoria.
0 1 2 3

Cadenas de Caracteres
La cadena HOLA esta conformada por cuatro caracteres, pero es necesario tener un caracter que represente el fin de cadena
0 H 1 O 2 L 3 A 4
\0

Entonces. Si una cade tiene n caracteres, se debe definir una tipo de dato que almacene n+1 caracteres

Cadenas de Caracteres
Las cadenas de caracteres se declaran como un puntero del tipo char y luego se le asigna n+1 espacios.
Ejemplo:
void main() {
char *cadena; cadena= new char[5];

En este caso la variable almacena una cadena de hasta 4 caracteres

Cadenas de Caracteres
Ejemplo:
void main() { char *cadena; int cantidad; printf (Ingrese el nmero de caracteres : ); scanf(%d,&cantidad); cadena= new char[cantidad]; } En este caso la variable almacena una cadena con la cantidad de caracteres ingresados en la variable cantidad

Cadenas de Caracteres
Ejemplo:
#define NUM_CARACTERES 100
void main() { char *cadena; cadena= new char[NUM_CARACTERES]; } En este caso la variable almacena una cadena de hasta 100 caracteres.

Funciones para trabajar con cadenas

Funcin para escritura de cadenas


Funcin puts puts( char *s )

Escribe un string en pantalla. Luego de impreso el string agrega automticamente un \n.

Funcin para lectura de cadenas


Funcin gets gets(char *s )

Lee caracteres desde el teclado, incluyendo los espacios hasta que encuentra un ENTER.
El ENTER es reemplazado por un carcter nulo y el string resultante es colocado en la direccin indicada por s. Retorna s.

Funcin para escritura de cadenas

Ejemplo
int main ()
{ char *micadena; micadena=new char[50]; puts(Ingrese su nombre : ); // Imprime en pantalla gets(micadena); .. //Lee el dato ingresado

Funciones para el manejo de cadenas

Otras funciones
La funciones que veremos a continuacin se encuentran en la librera string.h

Funcin strcpy
char *strcpy( char *destino , char *origen )
Copia los caracteres situados a partir de origen en destino hasta encontrar el '\0' que se incluye en la copia. Devuelve la cadena destino.

Funcin strcmp
int strcmp( char *s1 , char *s2 ) Retorna un entero, cuyo valor depende del resultado de la comparacin: < 0 si s1 es menor que s2 == 0 si s1 es igual a s2 >0 si s1 es mayor que s2.

La comparacin se realiza caracter a caracter , y devuelve el resultado de la realizada entre los primeros dos que sean distintos.

You might also like