HP-UX Reference (11i v3 07/02) - 3 Library Functions N-Z (vol 7)
s
stdio(3S) stdio(3S)
NAME
stdio() - standard buffered input/output stream file package
SYNOPSIS
#include <stdio.h>
DESCRIPTION
The Standard I/O functions described in the subsection (3S) entries of this manual constitute an efficient,
user-level I/O buffering scheme. The getc()
and putc() functions handle characters quickly. The fol-
lowing functions all use or act as if they use
getc() and putc(), and can be freely intermixed:
fgetc() fputs() getchar() putchar()
fgets() fread() gets() puts()
fprintf() fscanf() getw() putw()
fputc() fwrite() printf() scanf()
A file with associated buffering is called a stream 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. 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 to 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 by default unbuffered. These three streams have the following con-
stant pointers declared 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 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 subsection (3S) entries of this manual are declared in that header
file and need no further declaration.
A constant _NFILE defines the default maximum number of open files allowed per process. To increase
the open file limit beyond this default value, see getrlimit(2).
WARNINGS
Use of stdio interfaces with a shared read/write file descriptor on
non-positional devices will
provide undefined behavior. Applications which are doing
stdio operations on non-positional
devices
need to use seperate file pointers for input and output, even if using the same file descriptor for
both types of operations.
ERRORS
Invalid stream 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), getrlimit(2), write(2), ctermid(3S), cuserid(3S), fclose(3S),
ferror(3S), fgetpos(3S), fileno(3S), fopen(3S), fread(3S), fseek(3S), fgetpos(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).
468 Hewlett-Packard Company − 1 − HP-UX 11i Version 3: February 2007