GETC(3)

NAME
getc, _getc_r - read a character (macro)

SYNOPSIS

#include <stdio.h>

int getc(FILE *fp);

#include <stdio.h>

int _getc_r(struct _reent *ptr, FILE *fp);

DESCRIPTION

getc is a macro, defined in stdio.h. You can use getc to get the next single character from the file or stream identified by fp. As a side effect, getc advances the file's current position indicator.

For a subroutine version of this macro, see fgetc.

The _getc_r function is simply the reentrant version of getc which passes an additional reentrancy structure pointer argument: ptr.

RETURNS

The next character (read as an unsigned char, and cast to int), unless there is no more data, or the host system reports a read error; in either of these situations, getc returns EOF.

You can distinguish the two situations that cause an EOF result by using the ferror and feof functions.

PORTABILITY

ANSI C requires getc; it suggests, but does not require, that getc be implemented as a macro. The standard explicitly permits macro implementations of getc to use the argument more than once; therefore, in a portable program, you should not use an expression with side effects as the getc argument.

Supporting OS subroutines required: close, fstat, isatty, lseek, read, sbrk, write.