fflush si può solo applicare a stream di output, su stream di input è undefined behavior. È praticamente solo VC++ che ne consente l'uso per svuotare il buffer di input.