NAME
getc — get a byte
from a stream
SYNOPSIS
#include
<stdio.h>
int getc(FILE *stream);
DESCRIPTION
[CX] 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 IEEE Std 1003.1-2001 (“POSIX.1”) 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.
RETURN VALUE
Refer to fgetc(3).
ERRORS
Refer to fgetc(3).
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 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 "#undef getc" in such
situations; fgetc(3) could also be used.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
fgetc(3), the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <stdio.h>
CHANGE HISTORY
First released in Issue 1. Derived from Issue 1 of the SVID.
End of informative text. footer end