Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — Dell System V Release 4 Issue 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)              UNIX System V(C Development Set)               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 and putc 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 [see intro(3)] and is
      declared to be a pointer to a defined type FILE.  fopen 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

      The following symbolic values in <unistd.h> define the file descriptors
      that will be associated with the C-language stdin, stdout and stderr when
      the application is started:

            STDINFILENO     Standard input value, stdin.  It has the value of
                             0.
            STDOUTFILENO    Standard output value, stdout.  It has the value
                             of 1.
            STDERRFILENO    Standard error value, stderr.  It has the value of
                             2.

      A constant null designates a null 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.

      An integer constant FILENAMEMAX specifies the size needed for an array
      of char large enough to hold the longest file name string that the
      implementation guarantees can be opened.



10/89                                                                    Page 1







stdio(3S)              UNIX System V(C Development Set)               stdio(3S)


      An integer constant FOPENMAX specifies the minimum number of files that
      the implementation guarantees can be open simultaneously.  Note that no
      more than 255 files may be opened via fopen, and only file descriptors 0
      through 255 are valid.

      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.  There are
      also function versions of 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 or setvbuf [both described 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 usually cause grave disorder, possibly including
      program termination.  Individual function descriptions describe the
      possible error conditions.












Page 2                                                                    10/89





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