SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: danijr78 en Lunes 16 de Enero de 2006, 23:42
-
Una cosa que me pasa al ejecutar este codigo:
char nom[50];
printf("Dame Nombre:");
gets(nom) // el mismo problema con "scanf("%s",nom)
Si el nombre contiene algun espacio, solo se almacena la cadena hasta ese espacio( ej: Maria Jose por teclado --> Maria en "nom")
Alguien me ayuda?
-
La función gets() recoge una cadena de caracteres del buffer de entrada estandar hasta encontrar \n, y luego sustituye ese \n por un \0. Por tanto lo que dices no tiene sentido, no se para en los espacios en blanco, igual hay algún problema con basura que haya quedado en el buffer...
Prueba lo siguiente:
fflush(stdin);
printf("Introduce nombre: ");
gets(nom);
Si aun así no funciona no sé qué puede ser...
Seguro que no se recoge bien??? no será que luego tratas la información contenida en "nom" mal???
Manda el código completo si sigue sin funcionar.
Un saludo. :lightsabre: