- NetBSD Manual Pages
GETC(3) NetBSD Library Functions Manual GETC(3)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
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-line.
The getchar() function is equivalent to: getc with the argument stdin.
The getc_unlocked() and getchar_unlocked() functions provide functional-
ity 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
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 rou-
tines 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), ungetc(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 (``POSIX.1'').
The getc() and getw() functions appeared in Version 1 AT&T UNIX.
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
NetBSD 9.2 September 2, 2019 NetBSD 9.2