• Miércoles 6 de Noviembre de 2024, 06:32

Autor Tema:  Problema Con Scanf Y Gets  (Leído 1386 veces)

danijr78

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Problema Con Scanf Y Gets
« en: Lunes 16 de Enero de 2006, 23:42 »
0
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?

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Problema Con Scanf Y Gets
« Respuesta #1 en: Miércoles 18 de Enero de 2006, 09:06 »
0
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:
No hay tonto más molesto que el ingenioso.