The
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.