Programación General => C/C++ => Mensaje iniciado por: kikocrak en Sábado 28 de Noviembre de 2009, 18:14
Título: Borrar espacioes en blanoc de una cadena de caracteres
Publicado por: kikocrak en Sábado 28 de Noviembre de 2009, 18:14
Buenas chicos:
Tengo que hacer un programa que elimine los espacios en blanco de una cadena de caracteres, no se donde esta el fallo, no puedo utiolizar funciones. /* Programa que elimina de una cadena de caracteres espacios en blanco */ #include<stdio.h> #define N 40
main(){
char cad_esp[N]; char cad_sinesp[N]; int i,je;
printf("Introduzca la cadena a eliminar los espacios:"); scanf("%s",cad_esp);
tienes que tener cuidado al pedir los datos al usuario, comprobar el total de carácteres y esas cosas aburridas. Me dices si funciona .
saludos!
Título: Re: Borrar espacioes en blanoc de una cadena de caracteres
Publicado por: kikocrak en Sábado 28 de Noviembre de 2009, 23:29
Lo primero, muchas gracias, el programa funciona correctamente, lo unico que se come la primera letra, he modificado mi programa siguiendo tus directrices, pero me sigue sin funcionar, te lo muestro:
#include<stdio.h> #define N 40
main(){
char cad_esp[N]; char cad_sinesp[N]; int i=0,j=0;
printf("Introduzca la cadena a eliminar los espacios:"); scanf("%s",cad_esp);
for(i=j=0;cad_esp!=' ';i++){
if(cad_esp!=' '){ cad_sinesp[j]=cad_esp; j++; } }
printf("%sn",cad_esp); }
NO se donde estara el fallo. Muchas gracias de verdad.
Título: Re: Borrar espacioes en blanoc de una cadena de caracteres
Publicado por: locazopro en Lunes 30 de Noviembre de 2009, 21:47
haber, el problema no es la lógica de tu programa, es que la función scanf con su parámetro %s no permite capturar espacios en blanco, por lo que ni siquiera estas utilizando la frase que realmente quieres quitarle los espacios. Mira, para mas información ve alguna referencia de C, o algo asi, hay un libro excelente que sirve de referencia que The standard C Library de P.J Plauger.