fgetc,
getc,
getchar,
getw
—
get next character or word from input
stream
#include
<stdio.h>
int
fgetc(
FILE
*stream);
int
getc(
FILE
*stream);
int
getchar(
void);
int
getw(
FILE
*stream);
The
fgetc() function obtains the next input
character (if present) from the stream pointed at by
stream, or the next character pushed back on
the stream via
ungetc(3).
The
getc() function acts essentially identically to
fgetc(), but is a macro that expands in-line.
The
getchar() function is equivalent to
getc() with the argument
stdin.
The
getw() function obtains the next
int
(if present) from the stream pointed at by
stream.
If successful, these routines return the next requested object from the
stream. If the stream is at end-of-file or a
read error occurs, the routines return
EOF
.
The routines
feof(3) and
ferror(3) must be used to
distinguish between end-of-file and error. If an error occurs, the global
variable
errno is set to indicate the error.
The end-of-file condition is remembered, even on a terminal, and all
subsequent attempts to read will return
EOF
until the condition is cleared with
clearerr(3).
ferror(3),
fopen(3),
fread(3),
getwc(3),
putc(3),
ungetc(3)
The
fgetc(),
getc(),
and
getchar() functions conform to
ANSI X3.159-1989
(“ANSI C89”).
The
getc() and
getw()
functions first appeared in
Version 1 AT&T
UNIX;
getchar() in
Version 2 AT&T UNIX; and
fgetc() in
Version 7
AT&T UNIX.
Dennis Ritchie originally implemented
getc() and
getw() in
PDP-11 assembler.
Since
EOF
is a valid integer value,
feof(3) and
ferror(3) must be used to check
for failure after calling
getw().
Since the size and byte order of an
int may
vary from one machine to another,
getw() is not
recommended for portable applications.