getc(3p) - phpMan

GETC(3P)                   POSIX Programmer's Manual                  GETC(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
       getc - get a byte from a stream
SYNOPSIS
       #include <stdio.h>
       int getc(FILE *stream);

DESCRIPTION
       The getc() function shall be equivalent to fgetc(), except that  if  it
       is implemented as a macro it may evaluate stream more than once, so the
       argument should never be an expression with side effects.
RETURN VALUE
       Refer to fgetc().
ERRORS
       Refer to fgetc().
       The following sections are informative.
EXAMPLES
       None.
APPLICATION USAGE
       If the integer value returned by getc() is stored into  a  variable  of
       type  char and then compared against the integer constant EOF, the com-
       parison may never succeed, because sign-extension of a variable of type
       char on widening to integer is implementation-defined.
       Since  it may be implemented as a macro, getc() may treat incorrectly a
       stream argument with side effects. In particular, getc(*f++)  does  not
       necessarily  work  as expected.  Therefore, use of this function should
       be preceded by "#undef getc" in such situations; fgetc() could also  be
       used.
RATIONALE
       None.
FUTURE DIRECTIONS
       None.
SEE ALSO
       fgetc(), the Base Definitions 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                             GETC(3P)