GETC(3) Library Functions Manual GETC(3)

getcget a byte from a stream

#include <stdio.h>

int getc(FILE *stream);

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(3), 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.

Refer to fgetc(3).

Refer to fgetc(3).

None.

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 (* ++) does not necessarily work as expected. Therefore, use of this function should be preceded by "#undef getc" in such situations; fgetc(3) could also be used.

None.

None.

V2_chap02(3), fgetc(3)

XBD <stdio.h>

First released in Issue 1. Derived from Issue 1 of the SVID.

POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0231 [14] is applied.

January 31, 2018 posix.fail