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 input/output function may be grouped
into the following categories: file access, file status,
input, output, miscellaneous. For lists of the functions in
each category, refer to the ``Libraries'' sections of Oreo
Programming Languages and Tools, Volume 1. 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 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(3S)
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
following functions are implemented as macros: getc,
Page 1 (last mod. 1/14/87)
stdio(3S) stdio(3S)
getchar, putc, putchar, feof, ferror, clearerr, and fileno.
Redeclaration of these names is perilous.
The <stdio.h> file is illustrated in the ``Libraries''
sections of the Oreo Programming Languages and Tools, Volume
1.
SEE ALSO
open(2), close(2), lseek(2), pipe(2), read(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), write(3).
DIAGNOSTICS
Invalid stream pointers cause serious errors, possibly
including program termination. Individual function
descriptions describe the possible error conditions.
Page 2 (last mod. 1/14/87)