GETC(3S) INTERACTIVE UNIX System GETC(3S)
NAME
getc, getchar, fgetc, getw - get character or word from a
stream
SYNOPSIS
#include <stdio.h>
int getc (stream)
FILE *stream;
int getchar ()
int fgetc (stream)
FILE *stream;
int getw (stream)
FILE *stream;
DESCRIPTION
The getc function returns the next character (i.e., byte)
from the named input stream, as an integer. It also moves
the file pointer, if defined, ahead one character in stream.
getchar is defined as getc(stdin). getc and getchar are
macros.
The fgetc function behaves like getc, but is a function
rather than a macro. Fgetc runs more slowly than getc, but
it takes less space per invocation and its name can be
passed as an argument to a function.
The getw function returns the next word (i.e., integer) from
the named input stream. Getw increments the associated file
pointer, if defined, to point to the next word. The size of
a word is the size of an integer and varies from machine to
machine. Getw assumes no special alignment in the file.
SEE ALSO
fclose(3S), ferror(3S), fopen(3S), fread(3S), gets(3S),
putc(3S), scanf(3S), stdio(3S).
DIAGNOSTICS
These functions return the constant EOF at end-of-file or
upon an error. Because EOF is a valid integer, ferror(3S)
should be used to detect getw errors.
WARNING
If the integer value returned by getc, getchar, or fgetc is
stored into a character variable and then compared against
the integer constant EOF, the comparison may never succeed,
because sign-extension of a character on widening to integer
is machine-dependent.
CAVEATS
Rev. C Software Development Set Page 1
GETC(3S) INTERACTIVE UNIX System GETC(3S)
Because it is implemented as a macro, getc evaluates a
stream argument more than once. In particular, getc(*f++)
does not work sensibly. Fgetc should be used instead.
Because of possible differences in word length and byte ord-
ering, files written using putw are machine-dependent, and
may not be read using getw on a different processor.
Rev. C Software Development Set Page 2