un-get character from input stream

You're viewing an older version of this page (#3301). View the current version.

View versions (3)

NAME

<span class="Nm" id="ungetc">ungetc</span>

INTERFACE

#include <stdio.h> int ungetc ( int c, FILE *stream )

DESCRIPTION

The ungetc function pushes the character &#92;c c (converted to an unsigned char) back onto the input stream pointed to by &#92;c stream. The pushed-back 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 reference:( (fseek) <span class="Xr">3</span>, reference:fsetpos (3) , or reference:rewind (3) ) will discard the pushed back characters. &#92;n &#92;n One character of push-back is guaranteed, but as long as there is sufficient memory, an effectively infinite amount of pushback is allowed. &#92;n &#92;n 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 <span class="Dv">EOF</span> if the operation fails. If the value of the argument &#92;c c character equals <span class="Dv">EOF</span>, the operation will fail and the stream will remain unchanged.

SEE ALSO

fseek (3) , getc (3) , reference:setvbuf (3) , reference:ungetwc (3)

STANDARDS

The ungetc function conforms to