Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — Interactive 2.2

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)            INTERACTIVE UNIX System            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 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.  The
               fopen(3S) function 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 fol-
               lowing ``functions'' are implemented as macros (redeclara-
               tion 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


          Rev. C Software Development Set                            Page 1





          STDIO(3S)            INTERACTIVE UNIX System            STDIO(3S)



               to a file, and line-buffered if the output refers to a ter-
               minal.  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 out-
               put 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 writ-
               ten as a block.  When it is line-buffered, each line of out-
               put 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).
               The setbuf(3S) or
               setvbuf() functions 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.





























          Rev. C Software Development Set                            Page 2



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