Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — svr4 — mips UMIPS RISC/os 5.01

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-SVR4)      RISC/os Reference Manual       STDIO(3S-SVR4)



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 and putc handle charac-
     ters 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:

          STDIN_FILENO        Standard input value, stdin. It has
                              the value of 0.
          STDOUT_FILENO       Standard output value, stdout. It
                              has the value of 1.
          STDERR_FILENO       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 FILENAME_MAX specifies the size needed
     for an array of char large enough to hold the longest file



                        Printed 11/19/92                   Page 1





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



     name string that the implementation guarantees can be
     opened.

     An integer constant FOPEN_MAX 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 fol-
     lowing 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 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 char-
     acter 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, possi-
     bly  including  program  termination.   Individual  function
     descriptions describe the possible error conditions.





 Page 2                 Printed 11/19/92



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