Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — sys5 — Apollo Domain/OS SR10.4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

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)

pclose(3S)

getw(3S)

putw(3S)

vprintf(3S)

STDIO(3S)                            SysV                            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 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 9see 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 newline 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
     cc(1), 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),
     pclose(3S), getw(3S), putw(3S), vprintf(3S).

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

NOTES
     To be backward compatible, programs compiled with the

          -A ansi

     option (see cc(1)) must contain the directives

          #define _CLASSIC_IOB
          #define _SYS5_SOURCE

     before any #include directives.

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