summaryrefslogtreecommitdiffstats
path: root/man3/stdio.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/stdio.3')
-rw-r--r--man3/stdio.3353
1 files changed, 353 insertions, 0 deletions
diff --git a/man3/stdio.3 b/man3/stdio.3
new file mode 100644
index 000000000..512f8574b
--- /dev/null
+++ b/man3/stdio.3
@@ -0,0 +1,353 @@
+.\" Copyright (c) 1990, 1991 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)stdio.3 6.5 (Berkeley) 5/6/91
+.\"
+.\" Converted for Linux, Mon Nov 29 16:07:22 1993, faith@cs.unc.edu
+.\" Modified, 2001-12-26, aeb
+.\"
+.TH STDIO 3 2001-12-26 "" "Linux Programmer's Manual"
+.SH NAME
+stdio \- standard input/output library functions
+.SH SYNOPSIS
+.B #include <stdio.h>
+.sp
+.B FILE *stdin;
+.br
+.B FILE *stdout;
+.br
+.B FILE *stderr;
+.SH DESCRIPTION
+The standard I/O library provides a simple and efficient buffered stream
+I/O interface. Input and output is mapped into logical data streams and the
+physical I/O characteristics are concealed. The functions and macros are
+listed below; more information is available from the individual man pages.
+.PP
+A stream is associated with an external file (which may be a physical
+device) by
+.I opening
+a file, which may involve creating a new file. Creating an existing file
+causes its former contents to be discarded. If a file can support
+positioning requests (such as a disk file, as opposed to a terminal) then a
+.I file position indicator
+associated with the stream is positioned at the start of the file (byte
+zero), unless the file is opened with append mode. If append mode is used,
+it is unspecified whether the position indicator will be placed at the
+start or the end of the file. The position indicator is maintained by
+subsequent reads, writes and positioning requests. All input occurs
+as if the characters were read by successive calls to the
+.BR fgetc (3)
+function; all output takes place as if all characters were written by
+successive calls to the
+.BR fputc (3)
+function.
+.PP
+A file is disassociated from a stream by
+.I closing
+the file. Output streams are flushed (any unwritten buffer contents are
+transferred to the host environment) before the stream is disassociated from
+the file. The value of a pointer to a
+.B FILE
+object is indeterminate after a file is closed (garbage).
+.PP
+A file may be subsequently reopened, by the same or another program
+execution, and its contents reclaimed or modified (if it can be
+repositioned at the start). If the main function returns to its original
+caller, or the
+.BR exit (3)
+function is called, all open files are closed (hence all output streams are
+flushed) before program termination. Other methods of program termination,
+such as
+.BR abort (3)
+do not bother about closing files properly.
+.PP
+At program startup, three text streams are predefined and need not be
+opened explicitly \(em
+.I standard input
+(for reading conventional input), \(em
+.I standard output
+(for writing conventional input), and
+.I standard error
+(for writing diagnostic output). These streams are abbreviated
+.IR stdin , stdout
+and
+.IR stderr .
+When opened, the standard error stream is not fully buffered; the standard
+input and output streams are fully buffered if and only if the streams do
+not to refer to an interactive device.
+.PP
+Output streams that refer to terminal devices are always line buffered by
+default; pending output to such streams is written automatically whenever
+an input stream that refers to a terminal device is read. In cases where a
+large amount of computation is done after printing part of a line on an
+output terminal, it is necessary to
+.BR fflush (3)
+the standard output before going off and computing so that the output will
+appear.
+.PP
+The
+.B stdio
+library is a part of the library
+.B libc
+and routines are automatically loaded as needed by the compilers
+.BR cc (1)
+and
+.BR pc (1).
+The
+.B SYNOPSIS
+sections of the following manual pages indicate which include files are to
+be used, what the compiler declaration for the function looks like and
+which external variables are of interest.
+.PP
+The following are defined as macros; these names may not be re-used without
+first removing their current definitions with
+.BR #undef :
+.BR BUFSIZ ,
+.BR EOF ,
+.BR FILENAME_MAX ,
+.BR FOPEN_MAX ,
+.BR L_cuserid ,
+.BR L_ctermid ,
+.BR L_tmpnam,
+.BR NULL ,
+.BR SEEK_END ,
+.BR SEEK_SET ,
+.BR SEE_CUR ,
+.BR TMP_MAX ,
+.BR clearerr ,
+.BR feof ,
+.BR ferror ,
+.BR fileno ,
+.BR fropen ,
+.BR fwopen ,
+.BR getc ,
+.BR getchar ,
+.BR putc ,
+.BR putchar ,
+.BR stderr ,
+.BR stdin ,
+.BR stdout .
+Function versions of the macro functions
+.BR feof ,
+.BR ferror ,
+.BR clearerr ,
+.BR fileno ,
+.BR getc ,
+.BR getchar ,
+.BR putc ,
+and
+.B putchar
+exist and will be used if the macros definitions are explicitly removed.
+.SH "LIST OF FUNCTIONS"
+.TP 10n
+.B Function
+.B Description
+.TP
+.B clearerr
+check and reset stream status
+.TP
+.B fclose
+close a stream
+.TP
+.B fdopen
+stream open functions
+.TP
+.B feof
+check and reset stream status
+.TP
+.B ferror
+check and reset stream status
+.TP
+.B fflush
+flush a stream
+.TP
+.B fgetc
+get next character or word from input stream
+.\" .TP
+.\" .B fgetline
+.\" get a line from a stream (BSD only; renamed to fgetln())
+.TP
+.B fgetpos
+reposition a stream
+.TP
+.B fgets
+get a line from a stream
+.TP
+.B fileno
+return the integer descriptor of the argument stream
+.TP
+.B fopen
+stream open functions
+.TP
+.B fprintf
+formatted output conversion
+.TP
+.B fpurge
+flush a stream
+.TP
+.B fputc
+output a character or word to a stream
+.TP
+.B fputs
+output a line to a stream
+.TP
+.B fread
+binary stream input/output
+.TP
+.B freopen
+stream open functions
+.TP
+.B fropen
+open a stream
+.TP
+.B fscanf
+input format conversion
+.TP
+.B fseek
+reposition a stream
+.TP
+.B fsetpos
+reposition a stream
+.TP
+.B ftell
+reposition a stream
+.TP
+.B fwrite
+binary stream input/output
+.TP
+.B getc
+get next character or word from input stream
+.TP
+.B getchar
+get next character or word from input stream
+.TP
+.B gets
+get a line from a stream
+.TP
+.B getw
+get next character or word from input stream
+.TP
+.B mktemp
+make temporary file name (unique)
+.TP
+.B perror
+system error messages
+.TP
+.B printf
+formatted output conversion
+.TP
+.B putc
+output a character or word to a stream
+.TP
+.B putchar
+output a character or word to a stream
+.TP
+.B puts
+output a line to a stream
+.TP
+.B putw
+output a character or word to a stream
+.TP
+.B remove
+remove directory entry
+.TP
+.B rewind
+reposition a stream
+.TP
+.B scanf
+input format conversion
+.TP
+.B setbuf
+stream buffering operations
+.TP
+.B setbuffer
+stream buffering operations
+.TP
+.B setlinebuf
+stream buffering operations
+.TP
+.B setvbuf
+stream buffering operations
+.TP
+.B sprintf
+formatted output conversion
+.TP
+.B sscanf
+input format conversion
+.TP
+.B strerror
+system error messages
+.TP
+.B sys_errlist
+system error messages
+.TP
+.B sys_nerr
+system error messages
+.TP
+.B tempnam
+temporary file routines
+.TP
+.B tmpfile
+temporary file routines
+.TP
+.B tmpnam
+temporary file routines
+.TP
+.B ungetc
+un-get character from input stream
+.TP
+.B vfprintf
+formatted output conversion
+.TP
+.B vfscanf
+input format conversion
+.TP
+.B vprintf
+formatted output conversion
+.TP
+.B vscanf
+input format conversion
+.TP
+.B vsprintf
+formatted output conversion
+.TP
+.B vsscanf
+input format conversion
+.SH "CONFORMING TO"
+The
+.B stdio
+library conforms to ANSI X3.159-1989 (``ANSI C'').
+.SH "SEE ALSO"
+.BR close (2),
+.BR open (2),
+.BR read (2),
+.BR write (2),
+.BR stdout (3)