[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