Keyboard input/Flush the keyboard buffer

From Rosetta Code
Revision as of 01:40, 19 October 2010 by MikeMol (talk | contribs) (Apply the Terminal Control semantic property, as a task.)
Task
Keyboard input/Flush the keyboard buffer
You are encouraged to solve this task according to the task description, using any language you may know.

Flush the keyboard buffer. This reads characters from the keyboard input and discards them until there are no more currently buffered, and then allows the program to continue. The program must not wait for users to type anything.

BASIC

ZX Spectrum Basic

<lang basic>10 IF INKEY$ <> "" THEN GOTO 10</lang>

PureBasic

<lang PureBasic>While Inkey(): Wend</lang>

Tcl

<lang tcl># No waiting for input fconfigure stdin -blocking 0

  1. Drain the data by not saving it anywhere

read stdin

  1. Flip back into blocking mode (if necessary)

fconfigure stdin -blocking 1</lang>