🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #15966

Re: fflush(stdin) se me lo pasa por el forro?

#15966
From: Santiago Romero
Date: Thu, 25 May 2000 00:00
58 lines
2675 bytes
El 22 May 2000 12:41:12 GMT, J.A. Gutierrez escribi�:
>Santiago Romero <nop_linux@yahoo.com> wrote:
>
>:  ocheeeeeee..
>: no se que leches pasa pero en Linux el fflush(stdin) se me lo
>  te funcionara por pura suerte, por que el uso que haces de
>  fflush es incorrecto, solo puedes flushear streams de escritura.
>  (aunque ahora que lo pienso, si que me suena que algun compilador
>  para DOS lo admitia como valido y hacia algo...)

 si, en MSDOS el fflush() te vac�a el buffer de entrada, de forma
 que si tras un getchar habias metido,  okjlksdfjlkasjflskdjf<enter>
 el fflush() se cargaba todo y el siguiente getchar funcionaba sin
 pillarte el segundo caracter como entrada....
 
>:  El primer getchar va, pero el segundo se lo salta :?
>
>    no se, envia codigo...

 algo tan sencillo como un par de scanfs:

  scanf("%d", &algo );
  scanf("%s", algo2 );
  y otros scanfs...
  getchar();

  llega un momento en que algunos scanfs se los salta, se los pasa
  por el forro, y el getchar tambien... :(

>    Depende de lo que quieras hacer, puede ayudarte la siguiente
>    cita del Unix FAQ:

 solo quiero vaciar el buffer de entrada.


>    Ejemplo:
>
>    int i,n;
>    if (i = ioctl (fileno(stdin), FIONREAD, &n))
>        perror("ioctl");
>    printf("%d\n",n);

 �Y como los extraigo? Con fgetc(stdin)?
 nada, que no, se si extraigo los n supuestos caracteres, algo
 m�s se queda en el buffer que en un programa luego se me salta
 el getchar como si no estuviera, cuando yo quiero hacer una
 simple pausa del tipo "Pulse enter para continuar".

 salu2.
-- 

Ruido en la l�nea cortes�a de Telef�nica.
 _-----------------------------------------------------_
|  NoP / Compiler         --      compiler @ jet.es     |
|-------------------------------------------------------|
|  POWERED BY - Linux RedHat 6.0  -  Reg. User #74.821  |
|              http://web.jet.es/s.romero               |
 ~-----------------------------------------------------~
Technical Details
Message-ID: <slrn8iq5fa.mk.compiler@compiler.linux.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <slrn8ifed1.190.nop_linux@compiler.linux.es> <8gb9t8$7de$1@news.unizar.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,d38036c26efcd863
X-Google-Attributes: gidf86c8,public
From: compiler@jet.es (Santiago Romero)
Subject: Re: fflush(stdin) se me lo pasa por el forro?
Date: 2000/05/25
Message-ID: <slrn8iq5fa.mk.compiler@compiler.linux.es>
X-Deja-AN: 627259838
Content-Transfer-Encoding: 8bit
References: <slrn8ifed1.190.nop_linux@compiler.linux.es> <8gb9t8$7de$1@news.unizar.es>
Content-Type: text/plain; charset=iso-8859-1
Organization: Telefonica Transmision de Datos
Mime-Version: 1.0
User-Agent: slrn/0.9.6.2 (Linux)
Reply-To: compiler@jet.es
Newsgroups: es.comp.os.linux.programacion