Quale mestiere deve fare? Non lo controlli tu lo stream in ingresso: per questo non hanno messo nulla nello standard, perché non ha senso.
Se vuoi, puoi vedere cosa fa una determinata versione di un determinato sistema operativo
Ad esempio linux fa questo
For output streams, fflush() forces a write of all user-space
buffered data for the given output or update stream via the
stream's underlying write function.
For input streams associated with seekable files (e.g., disk
files, but not pipes or terminals), fflush() discards any
buffered data that has been fetched from the underlying file, but
has not been consumed by the application.
The open status of the stream is unaffected.
If the stream argument is NULL, fflush() flushes all open output
streams.
Come vedi anche qui il terminale in ingresso viene escluso
Se proprio vuoi approfondire, puoi informarti su come si interagisce con un terminale in maniera non bloccante e gestendo un input qualsiasi