Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(2)

close(2)

read(2)

write(2)



      STDIO(3S)               GENIX Programmer's Manual               STDIO(3S)



      NAME
           stdio - standard buffered input/output package

      SYNOPSIS
           #include <stdio.h>

           FILE *stdin;
           FILE *stdout;
           FILE *stderr;

      DESCRIPTION
           The functions described  in  Sections  3S  constitute  an  efficient
           user-level  buffering  scheme.   The in-line macros getc and putc(3)
           handle characters quickly.  The higher level routines  gets,  fgets,
           scanf,  fscanf,  fread, puts, fputs, printf, fprintf, fwrite all use
           getc and putc; they can be freely intermixed.

           A file with associated buffering is called a stream, and is declared
           to  be  a  pointer  to a defined type FILE. Fopen(3) creates certain
           descriptive data for a stream and returns a pointer to designate the
           stream  in  all further transactions.  There are three normally open
           streams with constant pointers declared  in  the  include  file  and
           associated with the standard open files:

           stdin     standard input file
           stdout    standard output file
           stderr    standard error file

           A constant `pointer' NULL (0) designates no stream at all.

           An integer constant EOF (-1) is returned upon end of file  or  error
           by integer functions that deal with streams.

           Any routine that uses the standard input/output package must include
           the header file <stdio.h> of pertinent macro definitions.  The func-
           tions and constants mentioned in sections labeled 3S are declared in
           the  include  file  and need no further declaration.  The constants,
           and the following `functions' are implemented as macros;  redeclara-
           tion of these names is perilous: getc, getchar, putc, putchar, feof,
           ferror, fileno.

      SEE ALSO
           open(2), close(2), read(2), write(2)

      DIAGNOSTICS
           The value EOF is returned uniformly to indicate that a FILE  pointer
           has  not  been  initialized  with  fopen,  input  (output)  has been
           attempted on an output (input) stream, or a FILE pointer  designates
           corrupt or otherwise unintelligible FILE data.

           For purposes of efficiency,  this  implementation  of  the  standard
           library  has  been  changed  to  line buffer output to a terminal by



      Printed 11/16/83                                                        1





      STDIO(3S)               GENIX Programmer's Manual               STDIO(3S)



           default and attempts to do this transparently by flushing the output
           whenever  a  read(2)  from the standard input is necessary.  This is
           almost always transparent, but may cause confusion or malfunctioning
           of  programs  which  use standard i/o routines but use read(2) them-
           selves to read from the standard input.

           In cases where a large amount of computation is done after  printing
           part  of  a line on an output terminal, it is necessary to fflush(3)
           the standard output before going off and computing so that the  out-
           put will appear.













































      Printed 11/16/83                                                        2



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