Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


GETC(3)                    Library Functions Manual                    GETC(3)

NAME
     fgetc, getc, getchar, getc_unlocked, 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
     getchar();

     int
     getc_unlocked(FILE *stream);

     int
     getchar_unlocked();

     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 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.

RETURN VALUES
     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
     condition is remembered, even on a terminal, and all subsequent attempts
     to read will return EOF until the condition is cleared with clearerr(3).

SEE ALSO
     ferror(3), flockfile(3), fopen(3), fread(3), ftrylockfile(3),
     funlockfile(3), putc(3), ungetc(3)

STANDARDS
     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").

HISTORY
     The getc() and getw() functions appeared in Version 1 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.

NetBSD 10.99                   September 2, 2019                  NetBSD 10.99