Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

ctermid(3S)

cuserid(3S)

fclose(3S)

ferror(3S)

fopen(3S)

fprintf(3S)

fread(3S)

fscanf(3S)

fseek(3S)

getc(3S)

gets(3S)

lseek(2)

open(2)

pipe(2)

popen(3S)

putc(3S)

puts(3S)

read(2)

setbuf(3S)

system(3S)

tmpfile(3S)

tmpnam(3S)

ungetc(3S)

write(2)

stdio(3S)






       stdio(3S)                                                  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

             A constant null designates a null pointer.

             An integer-constant EOF (-1) is returned at 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 name
             string that the implementation guarantees can be opened.





                           Copyright 1994 Novell, Inc.               Page 1













      stdio(3S)                                                  stdio(3S)


            The number of open streams available to a process is limited
            only by the maximum number of files that the process may open.
            This limitation is dependent on the operating system.

            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, and putchar.
            There are also function versions of getc, getchar, putc, and
            putchar.

            Output streams, except for 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.

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

      REFERENCES
            close(2), ctermid(3S), cuserid(3S), fclose(3S), ferror(3S),
            fopen(3S), fprintf(3S), fread(3S), fscanf(3S), fseek(3S),
            getc(3S), gets(3S), lseek(2), open(2), pipe(2), popen(3S),
            putc(3S), puts(3S), read(2), setbuf(3S), system(3S),
            tmpfile(3S), tmpnam(3S), ungetc(3S), write(2)




                          Copyright 1994 Novell, Inc.               Page 2













       stdio(3S)                                                  stdio(3S)


       NOTICES
             Applications should restrict their use of the standard I/O
             package to the interfaces documented on the Section 3S manual
             pages.  They should not depend on individual members of the
             internal structures found in stdio.h.











































                           Copyright 1994 Novell, Inc.               Page 3








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