GETC(3) BSD Library Functions Manual GETC(3)
fgetc, getc, getchar, getc_unlocked, getchar_unlocked, getw -- get next character or word
from input stream
Standard C Library (libc, -lc)
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-
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.
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 con-
dition 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), ftrylockfile(3), funlockfile(3), putc(3),
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
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.
BSD April 25, 2001 BSD