fgetcgetcgetc_unlockedgetchargetchar_unlockedgetw
- get next character or word from input stream
LIBRARY
Lb libc
SYNOPSIS
#include <stdio.h> int
fgetc (FILE *stream); int
getc (FILE *stream); int
getc_unlocked (FILE *stream); int
getchar (void); int
getchar_unlocked (void); int
getw (FILE *stream);
DESCRIPTION
The
fgetc ();
function
obtains the next input character (if present) from the stream pointed at by
Fa 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 (stdin .);
The
getw ();
function
obtains the next
Vt int
(if present)
from the stream pointed at by
Fa stream .
The
getc_unlocked ();
and
getchar_unlocked ();
functions are equivalent to
getc ();
and
getchar ();
respectively,
except that the caller is responsible for locking the stream
with
flockfile(3)
before calling them.
These functions may be used to avoid the overhead of locking the stream
for each character, and to avoid input being dispersed among multiple
threads reading from the same stream.
RETURN VALUES
If successful, these routines return the next requested object
from the
Fa stream .
Character values are returned as an
Vt unsigned char
converted to an
Vt int .
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).
The
fgetc (,);
getc ();
and
getchar ();
functions
conform to
St -isoC .
The
getc_unlocked ();
and
getchar_unlocked ();
functions conform to
St -p1003.1-2001 .
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
Vt int
varies from one machine to another, and
getw ();
is not recommended for portable applications.