FreeBSD manual
download PDF document: getc.3.pdf
GETC(3) FreeBSD Library Functions Manual GETC(3)
NAME
fgetc, getc, getc_unlocked, getchar, 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
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 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.
RETURN VALUES
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).
conform to IEEE Std 1003.1-2001 ("POSIX.1").
HISTORY
The getc() and getw() functions appeared in a similar form in Version 1
AT&T UNIX; and were integrated into stdio in Version 7 AT&T UNIX;
getchar() in Version 4 AT&T UNIX; and fgetc() in Version 7 AT&T UNIX.
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.
FreeBSD 14.0-RELEASE-p11 April 4, 2020 FreeBSD 14.0-RELEASE-p11