Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)



STDIO(3S-SysV)      RISC/os Reference Manual       STDIO(3S-SysV)



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 buffer-
     ing 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 associ-
     ated 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 fol-
     lowing ``functions'' are implemented as macros (redeclara-
     tion of these names is perilous):  getc, getchar, putc,
     putchar, ferror, feof, clearerr, and fileno.





                         Printed 1/15/91                   Page 1





STDIO(3S-SysV)      RISC/os Reference Manual       STDIO(3S-SysV)



     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 termi-
     nal.  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 des-
     tination 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 ter-
     minal 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                  Printed 1/15/91



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