A followup to this question.
How can I clear the input buffer?
sleep(2);
// clear cin
getchar();
I only want the character that was typed in last, I want to discard any input that was put in while the program was asleep. Is there a way to do that?
Also, I don't want to wait actively to clear cin, thus I can't use ignore().
My approach would have been to get the current size of the buffer and if it's not equal to 0, silently empty the buffer. However, I have not found a way to get the size of the buffer. std::cin.rdbuf()->in_avail() always returns 0 for me. peek() also waits actively.
I don't want to use ncurses.