Re: gets() en Lenguaje C.
Hola,
On 15 Jan 2002, Juan Antonio Martinez wrote:
> El substituto correcto de gets(buffer) es:
>
> if (fgets(buffer,sizeof(buffer),stdin) ) {
> if ( buffer[strlen(buffer)-1] == '\n' )
> buffer[strlen(buffer)-1]='\0';
> fflush(stdin);
estás seguro del fflush(stdin) ?
> - la tercera linea vacia el buffer de entrada, dejandolo limpio para
> nuevos datos
quizás me equivoco, pero creo que el estándard ANSI C define qué tiene que
hacer fflush(xxx) cuando xxx es un flujo de salida, no de entrada
En sistemas como Solaris o HP-UX que son los que tengo más a mano el
fflush(stdin) elimina todo lo que haya quedado en stdin, en cambio en
Linux no lo suele hacer.
Donde me equivoco Profesor? :-)
Hasta pronto!
----
Carles Pina i Estany | Nick: Pinux / Pine / Teufeus
E-Mail: carles.pina@salleURL.edu / is08139@salleURL.edu / cpina@cat-linux.com
http://www.salleURL.edu/~is08139/
No me toques el RESET que me reboto.
Reply to: