diff options
Diffstat (limited to 'man3/stdio.3')
-rw-r--r-- | man3/stdio.3 | 353 |
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) |