- NetBSD Manual Pages
UNGETC(3) NetBSD Library Functions Manual UNGETC(3)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
ungetc -- un-get character from input stream
Standard C Library (libc, -lc)
ungetc(int c, FILE *stream);
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 suffi-
cient 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.
The ungetc() function returns the character pushed-back after the conver-
sion, 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
fseek(3), getc(3), setvbuf(3)
The ungetc() function conforms to ANSI X3.159-1989 (``ANSI C89'') and
IEEE Std 1003.1-2001 (``POSIX.1'').
An ungetc() function appeared in Version 7 AT&T UNIX.
NetBSD 8.1 April 30, 2010 NetBSD 8.1