Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3S) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

lseek(2)

open(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)

unistd(4)

stdio(5)

stdio(3S)                                                         stdio(3S)

NAME
     stdio: stdin, stdout, stderr - standard buffered input/output streams

SYNOPSIS
     #include <stdio.h>

     FILE *stdin, *stdout, *stderr;

DESCRIPTION
     The functions described in section 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 and is declared to
     be a pointer to a defined type FILE. fopen() creates certain descrip-
     tive 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 output 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 (0).

     STDOUTFILENO       Standard output value, stdout (1).

     STDERRFILENO       Standard error value, stderr (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 path name string that
     the implementation guarantees can be opened.



Page 1                       Reliant UNIX 5.44                Printed 11/98

stdio(3S)                                                         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 marked (3S) in 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(), fer-
     ror(), feof(), clearerr(), and fileno(). There are also function ver-
     sions 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 setbuf() [both described in setbuf(3S)] can
     change the stream's buffering strategy.

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

SEE ALSO
     close(2), lseek(2), open(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), unistd(4), stdio(5).











Page 2                       Reliant UNIX 5.44                Printed 11/98

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