Professional Documents
Culture Documents
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];
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.
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.
Ejemplo
int main ()
{ char *micadena; micadena=new char[50]; puts(Ingrese su nombre : ); // Imprime en pantalla gets(micadena); .. //Lee el dato ingresado
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.