Академический Документы
Профессиональный Документы
Культура Документы
Ejercicio 2
Escriba un programa que permita
leer una cadena de caracteres y que
luego nos determine e imprima la
cantidad de palabras que contiene la
cadena.
Cadenas de caracteres
1. Definicin
2. Funciones para manejo 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 puts
puts( char *s )
Escribe un string hacia la pantalla. Luego
de
impreso
el
string
agrega
automticamente un \n. Solo es aplicable a
variables del tipo string.
Copiar cadenas
char s[20] = "ab";
char s2[20];
strcpy (s2, s);
Permite copiar una cadena a otra.
Un error muy frecuente es intentar copiar con el
operador de asignacin (s2 = s;). Esto no es
vlido, pues en C no est permitido copiar
vectores
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 strncpy
char *strncpy(char
*origen, int n )
*destino,
char
Ejemplo de strncpy
char strorigen[] = "0123456789" ;
char strdestino[] = "ABCDEFGHIJ" ;
strncpy( strdestino , strorigen , 5 ) ;
Funcin strlen
int strlen(char *s )
Retorna un entero con la cantidad de
caracteres del string. No toma en cuenta al
\0. Por lo que la memoria real necesaria
para albergar al string es 1+strlen(s).
Concatenar cadenas
Funcin strcat
char *strcat( char *destino , char *origen )
Agrega el contenido de "origen" al final del
string inicializado "destino", devolviendo
destino.
char p[20] ;
char q[10] = "123456789" ;
char w[3] = "AB" ;
char y[20] = "AB" ;
strcat( y , q ) ; /* Correcto , el
contenido
de
y
ser:
A,B,1,2,3,4,5,6,7,8,9,\0 */
Comparacin cadenas
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.
Funcin strstr
char *strstr(char *s1 , char *s2 )
Encuentra la primera ocurrencia de s1 en
s2 y devuelve el resto de s2 a partir de
dicha posicin. Si s1 no es parte de s2
devuelve NULL.
Modificacin de cadenas
caracter
isdigit(c)
Si
es
un
comprendido entre 0 y 9
nmero
Ejemplos de Uso de
funciones de Cadenas
de caracteres