STDIO(3S)
NAME
stdio − standard buffered input/output stream file 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 routines getc(3S) and putc(3S) handle characters quickly. The routines fgetc, fgets, fprintf, fputc, fputs, fread, fscanf, fwrite, getchar, gets, getw, printf, putchar, 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. The Section (3S) library routines operate on this stream.
At program startup, three streams, standard input, standard output and standard error, are predefined and do not need not be explicitly opened. When opened, the standard input and standard output streams are fully buffered if the output refers to a file and line-buffered if the output refers to a terminal. The standard error output stream is be default unbuffered. These three streams have the following constant pointers declard in the <stdio.h> header file :
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 (see setbuf(3S)).
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.
A constant _NFILE defines the maximum number of open files allowed per process.
SEE ALSO
close(2), lseek(2), open(2), pipe(2), read(2), write(2), ctermid(3S), cuserid(3S), fclose(3S), ferror(3S), fgetpos(3S), fileno(3S), fopen(3S), fread(3S), fseek(3S), fsetpos(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.
STANDARDS CONFORMANCE
stdio: SVID2, XPG2, XPG3, POSIX.1, FIPS 151-1, ANSI C
stderr: SVID2, XPG2, XPG3, POSIX.1, FIPS 151-1, ANSI C
stdin: SVID2, XPG2, XPG3, POSIX.1, FIPS 151-1, ANSI C
stdout: SVID2, XPG2, XPG3, POSIX.1, FIPS 151-1, ANSI C
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989