NAME
ungetc
—
un-get character from input
stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include
<stdio.h>
int
ungetc
(int c,
FILE *stream);
DESCRIPTION
The
ungetc
()
function pushes the character c (converted to an
unsigned char) back onto the input stream pointed to by
stream. The pushed-back characters will be returned
(in reverse order) by subsequent reads on the stream. A successful
intervening call to one of the file positioning functions
(fseek(3),
fsetpos(3), or rewind(3)), using the same stream, will discard the
pushed-back characters.
Only one character of push-back is guaranteed, but as long as there is sufficient memory, an effectively infinite amount of push-back is allowed.
If a character is successfully pushed-back, the
end-of-file indicator for the stream is cleared. The file-position indicator
is decremented by each successful call to
ungetc
();
if its value was 0 before a call, its value is unspecified after the
call.
RETURN VALUES
The 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.
SEE ALSO
STANDARDS
The ungetc
() function conforms to
ISO/IEC 9899:1990
(“ISO C90”).