ungetc(3p) - phpMan

UNGETC(3P)                 POSIX Programmer's Manual                UNGETC(3P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
NAME
       ungetc - push byte back into input stream
SYNOPSIS
       #include <stdio.h>
       int ungetc(int c, FILE *stream);

DESCRIPTION
       The ungetc() function shall push the byte specified by c (converted  to
       an  unsigned char) back onto the input stream pointed to by stream. The
       pushed-back bytes shall be returned by subsequent reads on that  stream
       in  the  reverse  order of their pushing. A successful intervening call
       (with the stream pointed to by stream) to a file-positioning function (
       fseek(),  fsetpos(),  or  rewind()) shall discard any pushed-back bytes
       for the stream. The external storage corresponding to the stream  shall
       be unchanged.
       One byte of push-back shall be provided. If ungetc() is called too many
       times on the same stream without an intervening read or  file-position-
       ing operation on that stream, the operation may fail.
       If  the  value  of  c equals that of the macro EOF, the operation shall
       fail and the input stream shall be left unchanged.
       A successful call to ungetc() shall clear the end-of-file indicator for
       the  stream.  The  value  of the file-position indicator for the stream
       after reading or discarding all pushed-back bytes shall be the same  as
       it  was  before the bytes were pushed back. 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 VALUE
       Upon  successful completion, ungetc() shall return the byte pushed back
       after conversion. Otherwise, it shall return EOF.
ERRORS
       No errors are defined.
       The following sections are informative.
EXAMPLES
       None.
APPLICATION USAGE
       None.
RATIONALE
       None.
FUTURE DIRECTIONS
       None.
SEE ALSO
       fseek(), getc(), fsetpos(), read(), rewind(), setbuf(), the Base  Defi-
       nitions volume of IEEE Std 1003.1-2001, <stdio.h>
COPYRIGHT
       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                  2003                           UNGETC(3P)