53 lines
2.4 KiB
Groff
53 lines
2.4 KiB
Groff
|
|
NAME
|
|
stdio - standard buffered input/output package
|
|
SYNTAX
|
|
#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(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 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(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
|
|
(redeclaration of these names is perilous): getc, getchar,
|
|
putc, putchar, ferror, feof, clearerr, and fileno.
|
|
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 will usually cause grave disorder,
|
|
possibly including program termination. Individual function
|
|
descriptions describe the possible error conditions.
|
|
|