logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

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 comparison 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 "#undefgetc" in such situations; fgetc() could also be used.

Description

       The  functionality  described  on  this  reference  page is aligned with the ISO C standard. Any conflict
       between the requirements described  here  and  the  ISO C  standard  is  unintentional.  This  volume  of
       POSIX.1‐2017 defers to the ISO C standard.

       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.

Errors

       Refer to fgetc().

       Thefollowingsectionsareinformative.

Examples

       None.

Future Directions

       None.

Name

       getc — get a byte from a stream

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.

Rationale

       None.

Return Value

       Refer to fgetc().

See Also

Section2.5, StandardI/OStreams, fgetc()

       The Base Definitions volume of POSIX.1‐2017, <stdio.h>

Synopsis

       #include <stdio.h>

       int getc(FILE *stream);

See Also