Next: , Previous: , Up: Stdio   [Contents][Index]


4.35 getchar—read a character (macro)

Synopsis

#include <stdio.h>
int getchar(void);

int _getchar_r(struct _reent *reent);

Description
getchar is a macro, defined in stdio.h. You can use getchar to get the next single character from the standard input stream. As a side effect, getchar advances the standard input’s current position indicator.

The alternate function _getchar_r is a reentrant version. The extra argument reent is a pointer to a reentrancy structure.


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, getchar returns EOF.

You can distinguish the two situations that cause an EOF result by using ‘ferror(stdin)’ and ‘feof(stdin)’.


Portability
ANSI C requires getchar; it suggests, but does not require, that getchar be implemented as a macro.

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