manpagez: man (manual) pages & more
man ungetc(3)
Home | html | info | man
ungetc(3)                BSD Library Functions Manual                ungetc(3)


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 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
     unchanged.


SEE ALSO

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


STANDARDS

     The ungetc() function conforms to ISO/IEC 9899:1990 (``ISO C90'').

BSD                              June 4, 1993                              BSD

Mac OS X 10.8 - Generated Fri Aug 31 16:53:58 CDT 2012