The function
fflush() forces a write of all buffered data for the given output or update
stream via the stream's underlying write function. The open status of the stream is unaffected.
If the
stream argument is
NULL,
fflush() flushes
all open output streams.
The function
fpurge() erases any input or output buffered in the given
stream. For output streams this discards any unwritten output. For input streams this discards any input read from the underlying object but not yet obtained via
getc(3); this includes any text pushed back via
ungetc(3).