| UNGETC(3) | Library Functions Manual | UNGETC(3) | 
ungetc —
#include <stdio.h>
int
  
  ungetc(int
    c, FILE
  *stream);
ungetc() function pushes the character
  c (converted to an unsigned char) back onto the input
  stream pointed to by stream. The pushed-backed
  characters will be returned by subsequent reads on the stream (in reverse
  order). A successful intervening call, using the same stream, to one of the
  file positioning functions
  (fseek(3),
  fsetpos(3), or
  rewind(3)) will discard the
  pushed back characters.
One character of push-back is guaranteed, but as long as there is sufficient memory, an effectively infinite amount of pushback is allowed.
If a character is successfully pushed-back, the end-of-file indicator for the stream is cleared.
ungetc() function returns the character pushed-back
  after the conversion, or EOF if the operation fails.
  If the value of the argument c character equals
  EOF, the operation will fail and the stream will
  remain unchanged.
ungetc() function conforms to ANSI
  X3.159-1989 (“ANSI C89”) and IEEE
  Std 1003.1-2001 (“POSIX.1”).
ungetc() function appeared in
  Version 7 AT&T UNIX.
| April 30, 2010 | NetBSD 9.3 |