NAME
fgetc,
getc,
getchar,
getc_unlocked,
getchar_unlocked,
getw —
get next character or word
from input stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h>
int
fgetc(
FILE
*stream);
int
getc(
FILE
*stream);
int
getchar();
int
getc_unlocked(
FILE
*stream);
int
getchar_unlocked();
int
getw(
FILE
*stream);
DESCRIPTION
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
getc_unlocked() and
getchar_unlocked()
functions provide functionality identical to that of
getc()
and
getchar(), respectively, but do not perform implicit
locking of the streams they operate on. In multi-threaded programs they may be
used
only within a scope in which the stream has been
successfully locked by the calling thread using either
flockfile(3) or
ftrylockfile(3), and may
later be released using
funlockfile(3).
The
getw() function obtains the next
int (if
present) from the stream pointed at by
stream.
RETURN VALUES
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).
SEE ALSO
ferror(3),
flockfile(3),
fopen(3),
fread(3),
ftrylockfile(3),
funlockfile(3),
putc(3),
ungetc(3)
STANDARDS
The
fgetc(),
getc() and
getchar() functions conform to
ANSI
X3.159-1989 (“ANSI C89”). The
getc_unlocked() and
getchar_unlocked()
functions conform to
ISO/IEC 9945-1:1996
(“POSIX.1”).
BUGS
Since
EOF
is a valid integer value,
feof(3) and
ferror(3) must be used to check
for failure after calling
getw(). The size and byte order of
an
int varies from one machine to another, and
getw() is not recommended for portable applications.