Programación General => C/C++ => Mensaje iniciado por: ichigo15 en Martes 6 de Noviembre de 2007, 13:26
Título: Alternativas Al Fflush Para Linux
Publicado por: ichigo15 en Martes 6 de Noviembre de 2007, 13:26
En windows, para limpiar el buffer (tanto el de salido, como el de entrada y el de errores) tenemos el fflush.
En linux, de momento utilizo el getchar, pero es un poco lio, porque tengo que utilizarlo despues de leer numeros y que lo que venga no sea un numero, o entre cadena y cadena, etc.
¿que es lo mas parecido que hay al fflush para linux?, ¿tengo que bajarme alguna libreria no estandar?
Título: Re: Alternativas Al Fflush Para Linux
Publicado por: Karman en Martes 6 de Noviembre de 2007, 13:40
Es la única forma... pero podés usar algo como esto:
void clrbuf(void){ while( getch()!='\n' ); }
S2
Título: Re: Alternativas Al Fflush Para Linux
Publicado por: su - en Martes 6 de Noviembre de 2007, 21:28
Falso!!!!
fflush() es ANSI C (http://en.wikipedia.org/wiki/Fflush)
Título: Re: Alternativas Al Fflush Para Linux
Publicado por: Eternal Idol en Martes 6 de Noviembre de 2007, 21:41
Cita de: "su -"
Falso!!!!
fflush() es ANSI C (http://en.wikipedia.org/wiki/Fflush)
Si, PERO si seguis leyendo ese mismo enlace: It should be use for output streams only; otherwise the behavior is undefined.
Agrego: En Windows funciona con cualquier stream (objetos de archivos al fin de cuentas en Windows NT) al terminar llamando a la funcion FlushFileBuffers de la API de Windows.
Título: Re: Alternativas Al Fflush Para Linux
Publicado por: su - en Martes 6 de Noviembre de 2007, 22:08
Ooops, cierto... que pena :nosweat: Aunque para input (STDIN) si hay forma... (ver termios.h) para ser mas exactos tcflush()... creo :blink:
UPDATE:
Ahora veo algo interesante... sera que setbuf servira?