Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getc(3S) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fclose(3S)

ferror(3S)

fopen(3S)

fread(3S)

gets(3S)

putc(3S)

scanf(3S)

stdio(3S)



          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



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026