GETC(3) | Library Functions Manual | GETC(3) |
fgetc
, getc
,
getc_unlocked
, getchar
,
getchar_unlocked
, getw
— get next character or word from input
stream
Standard C Library (libc, -lc)
#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);
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
(stdin).
The
getw
()
function obtains the next int (if present) from the
stream pointed at by 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.
If successful, these routines return the next requested object
from the stream. Character values are returned as an
unsigned char converted to an
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).
ferror(3), flockfile(3), fopen(3), fread(3), getwc(3), putc(3), ungetc(3)
The fgetc
(),
getc
(), and getchar
()
functions conform to ISO/IEC 9899:1990
(“ISO C90”). The
getc_unlocked
() and
getchar_unlocked
() functions conform to
IEEE Std 1003.1-2001 (“POSIX.1”).
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.
January 10, 2003 | macOS 15.0 |