getc(3S) DG/UX 5.4R3.00 getc(3S)
NAME
getc, getcunlocked, getchar, getcharunlocked, fgetc, getw - get
character or word from a stream
SYNOPSIS
#include <stdio.h>
int getc (FILE *stream);
int getcunlocked (FILE *stream);
int getchar (void);
int getcharunlocked (void);
int fgetc (FILE *stream);
int getw (FILE *stream);
DESCRIPTION
getc and getcunlocked return the next character (i.e., byte) from
the named input stream [see intro(3)] as an unsigned char converted
to an int. It also moves the file pointer, if defined, ahead one
character in stream. getchar and getcharunlocked are defined as
getc(stdin) and getcunlocked(stdin) respectively. 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 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.
The getcunlocked and getcharunlocked functions work like getc and
getchar except they are not reentrant and must be used within a scope
protected by calls to flockfile and funlockfile.
Considerations for Threads Programming
+-----------------+-----------------------------+
| | async- |
|function | reentrant cancel cancel |
| | point safe |
+-----------------+-----------------------------+
|fgetc | Y Y N |
|getc | Y Y N |
|getcunlocked | N - - |
|getchar | Y Y N |
|getcharunlocked | N - - |
|getw | Y N N |
+-----------------+-----------------------------+
Licensed material--property of copyright holder(s) 1
getc(3S) DG/UX 5.4R3.00 getc(3S)
SEE ALSO
reentrant(3), fclose(3S), ferror(3S), flockfile(3S), fopen(3S),
fread(3S), gets(3S), putc(3S), scanf(3S), stdio(3S), ungetc(3S).
DIAGNOSTICS
These functions return the constant EOF at end-of-file or upon an
error and set the EOF or error indicator of stream, respectively. If
the stream was not open for reading, errno will be set to EBADF.
Because EOF is a valid integer, ferror should be used to detect getw
errors.
NOTES
If the integer value returned by getc, getcunlocked, getchar,
getcharunlocked, 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 implementation dependent.
The macro version of getc evaluates a stream argument more than once
and may treat side effects incorrectly. In particular, getc(*f++)
does not work sensibly. Use fgetc instead.
Because of possible differences in word length and byte ordering,
files written using putw are implementation dependent, and may not be
read using getw on a different processor.
Functions exist for all the above-defined macros. To get the
function form, the macro name must be undefined (e.g., #undef getc).
Licensed material--property of copyright holder(s) 2