[C con Clase] fgets
Programante
programante en gmail.com
Jue Jul 10 22:17:38 CEST 2008
Omar Murray escribió:
> Hola lista:
>
> Una consulta, tengo un código como este:
>
> cout << "Legajo: "; cin >> regmecs.legajo; cout << endl;
> cout << "Nombre y Apellido: ";
> fflush(stdin); fgets(regmecs.nombre,TAM,stdin); cout << endl;
> cout << "B744?: "; cin >> regmecs.flota.B744; cout << endl;
> cout << "B742?: "; cin >> regmecs.flota.B742; cout << endl;
>
> Cuando lo ejecuto puedo ingresar el legajo, pero a la hora de ingresar el
> nombre me pasa directamente al otro registro (B744). Le agregué el fflush
> pero sigue haciendo lo mismo. En que le estoy errando ? Será un tema de
> compilador? Estoy usando el g++ bajo linux.
>
> Gracias y saludos
>
No deberías mezclar iostream con stdio (aunque normalmente están
sincronizadas). Por otra parte
fflush(stdin) no es estándar, así que es posible que no haga lo que
pretendes. Siendo Linux, incluye
#include <stdio_ext.h> y cambia fflush(stdin) por __fpurge(stdin)
Más información sobre la lista de distribución Cconclase