Jak mogę opróżnić nieprzeczytane dane z kolejki wejściowej tty w systemie UNIX?

Mój program musi odczytywać tylko jeden znak ze standardowego wejścia, więc używamread(0, buffer, 1). Ale jeśli użytkownik wstawi więcej niż jeden znak, pozostanie w jakimś buforze i gdy zadzwonięread znowu są tam.

Jak więc mogę odrzucić te postacie? Chcę tego, kiedy dzwonięread ponownie bufor jest wypełniony nową postacią, a nie starymi.

Przykład: mamread(0, buffer, 1) a użytkownik piszeabcde. Mój bufor zawieraa (i ma rację), ale potem dzwonięread(0, buffer, 1) ponownie i chcę, aby od teraz napisał następny znak, a nieb napisane wcześniej.

questionAnswers(2)

yourAnswerToTheQuestion