ungetc - push character back into input stream
Ungetc pushes the character c back on an input stream. That
character will be returned by the next getc call on that stream.
Ungetc returns c.
One character of pushback is
guaranteed provided something has been
read from the stream and the stream is actually buffered. Attempts
to push EOF are rejected.
Fseek(3) erases all memory of pushed back characters.
getc(3), setbuf(3), fseek(3)
Ungetc returns EOF if it can’t push a character back.