flush input buffer?

Michael P. baseball.mjp at gmail.com
Sat Oct 18 12:51:44 PDT 2008

Nick Sabalausky Wrote:

> "Michael P." <baseball.mjp at gmail.com> wrote in message 
> news:gdd02h$1uui$1 at digitalmars.com...
> > Okay, so I'm sure if flushing the input buffer is what I want, or if that 
> > even makes sense, so I'll say what I'm trying to do first to see if that's 
> > what I want.
> > So, I made this program where you specify the number of digits in a number 
> > you want to remember. Then, it ask you how many questions.
> > Anyways, a number will show up. Then, you have 4 seconds to remember. 
> > Then, 30 lines are skipped as my "clearing of the screen". Sleep another 
> > second.
> > You are then asked to type in the number you saw.
> > The problem I have is that the user can just type in the number while they 
> > see it, and what the typed will show up when the prompt comes up.
> > What I want to do is "flush the input buffer" just before I request for 
> > input so the user can no longer type in the number while they see it.
> >
> > -Michael P.
> I'm not sure what lib or function you're using to read the input, but there 
> should be some way to do an asynchronous read from the input buffer to read 
> input *only* if input already exists and just sinply return nothing instead 
> of waiting if no input exists. Then you could do something like this:
> do
> {
>     inputDataToThrowAway = AsyncRead();
> } while(data was actualy read);
> output("Please enter your answer");
> waitForInputAndReadIt();

Oh yeah, forgot to say that I am using din.readf() for input.

More information about the Digitalmars-d-learn mailing list