ungetc - push character back into input stream
int ungetc(int c, FILE *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.