# getc(3)

## NAME

         getc, getchar, fgetc, getw - get character or word from stream

## SYNOPSIS

         #include <stdio.h>

         int getc(FILE *stream)
         int getchar(void)
         int fgetc(FILE *stream)
         int getw(FILE *stream)

## DESCRIPTION

         Getc returns the next character from the named input stream.

         Getchar() is identical to getc(stdin).

         Fgetc behaves like getc, but is a genuine function, not a macro;  it  may
         be used to save object text.

         Getw returns the next int from the named input stream.   It  returns  the
         constant  EOF upon end of file or error, but since that is a good integer
         value, feof and ferror(3) should be used to check the  success  of  getw.
         Getw assumes no special alignment in the file.

## SEE ALSO

         clearerr(3), fopen(3), putc(3), gets(3), scanf(3), fread(3), ungetc(3).

## DIAGNOSTICS

         These functions return the integer constant EOF at end of file, upon read
         error,  or if an attempt is made to read a file not opened by fopen.  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).

## BUGS

         Because it is implemented as a macro, getc treats a stream argument  with
         side  effects  incorrectly.   In  particular,  `getc(*f++);' doesn't work
         sensibly.