Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  STDIO(3S)       (C Programming Language Utilities)      STDIO(3S)



  NAME
       stdio - standard buffered input/output package

  SYNOPSIS
       #include <stdio.h>

       FILE *stdin, *stdout, *stderr;

  DESCRIPTION
       The functions described in the entries of sub-class 3S of
       this manual constitute an efficient, user-level I/O
       buffering scheme.  The in-line macros getc(3S) and putc(3S)
       handle characters quickly.  The macros getchar and putchar,
       and the higher-level routines fgetc, fgets, fprintf, fputc,
       fputs, fread, fscanf, fwrite, gets, getw, printf, puts,
       putw, and scanf all use or act as if they 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(3S)
       creates certain descriptive data for a stream and returns a
       pointer to designate the stream in all further transactions.
       Normally, there are three open streams with constant
       pointers declared in the <stdio.h> header file and
       associated with the standard open files:

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

       A constant NULL (0) designates a nonexistent pointer.

       An integer-constant EOF (-1) is returned upon end-of-file or
       error by most integer functions that deal with streams (see
       the individual descriptions for details).

       An integer constant BUFSIZ specifies the size of the buffers
       used by the particular implementation.

       Any program that uses this package must include the header


  Page 1                                                   May 1989


















  STDIO(3S)       (C Programming Language Utilities)      STDIO(3S)



       file of pertinent macro definitions, as follows:

            #include <stdio.h>

       The functions and constants mentioned in the entries of
       sub-class 3S of this manual are declared in that header file
       and need no further declaration.  The constants and the
       following ``functions'' are implemented as macros
       (redeclaration of these names is perilous):  getc, getchar,
       putc, putchar, ferror, feof, clearerr, and fileno.

       Output streams, with the exception of the standard error
       stream stderr, are by default buffered if the output refers
       to a file and line-buffered if the output refers to a
       terminal.  The standard error output stream stderr is by
       default unbuffered, but use of freopen [see fopen(3S)] will
       cause it to become buffered or line-buffered.  When an
       output stream is unbuffered, information is queued for
       writing on the destination file or terminal as soon as
       written; when it is buffered, many characters are saved up
       and written as a block.  When it is
       line-buffered, each line of output is queued for writing on
       the destination terminal as soon as the line is completed
       (that is, as soon as a new-line character is written or
       terminal input is requested).  Setbuf(3S) or setvbuf() in
       setbuf(3S) may be used to change the stream's buffering
       strategy.

  SEE ALSO
       open(2), close(2), lseek(2), pipe(2), read(2), write(2),
       ctermid(3S), cuserid(3S), fclose(3S), ferror(3S), fopen(3S),
       fread(3S), fseek(3S), getc(3S), gets(3S), popen(3S),
       printf(3S), putc(3S), puts(3S), scanf(3S), setbuf(3S),
       system(3S), tmpfile(3S), tmpnam(3S), ungetc(3S).

  DIAGNOSTICS
       Invalid stream pointers will usually cause grave disorder,
       possibly including program termination.  Individual function
       descriptions describe the possible error conditions.



  Page 2                                                   May 1989
















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