GETC(3V) — SYSTEM V LIBRARY
NAME
getc, getchar, fgetc, getw − get character or integer from stream
SYNOPSIS
#include <stdio.h>
int getc(stream)
FILE ∗stream;
int getchar()
int fgetc(stream)
FILE ∗stream;
int getw(stream)
FILE ∗stream;
DESCRIPTION
getc() returns the next character (that is, 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.
fgetc() 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.
getw() returns the next C int (word) 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
ferror(3S), fopen(3S), fread(3S), gets(3S), putc(3S), scanf(3S), ungetc(3S)
DIAGNOSTICS
These functions return the integer constant EOF at EOF 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.
BUGS
Because it is implemented as a macro, getc() treats a stream argument with side effects incorrectly. In particular, getc(∗f++) does not work sensibly. fgetc() should be used instead.
Because of possible differences in word length and byte ordering, files written using putw() are machine-dependent, and may not be readable using getw() on a different processor.
Sun Release 4.0 — Last change: 18 November 1987