Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fgetc(3S) — A/UX 0.7

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fclose(3S)

ferror(3S)

fopen(3S)

fread(3S)

gets(3S)

putc(3S)

scanf(3S)

ungetc(3S)



     getc(3S)                                                 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
          getc 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.

          fgetc behaves like getc, but is a function rather than a
          macro.  fgetc runs more slowly than getc, but takes less
          space per invocation and its name can be passed as an
          argument to a function.

          getw returns the next word (32-bit integer on a 68000) from
          the named input stream.  getw increments the associated file
          pointer, if defined, to point to the next word.  getw
          assumes no special alignment in the file.

     SEE ALSO
          fclose(3S), ferror(3S), fopen(3S), fread(3S), gets(3S),
          putc(3S), scanf(3S), ungetc(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.

     BUGS
          Because it is implemented as a macro, getc treats



     Page 1                                        (last mod. 1/14/87)





     getc(3S)                                                 getc(3S)



          incorrectly a stream argument with side effects.  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 are machine-dependent, and may
          not be read using on a different processor.

















































     Page 2                                        (last mod. 1/14/87)



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