Table of Contents

NAME

SYNOPSIS

DESCRIPTION

The standard library provides a simple and efficient buffered stream interface. Input and output is mapped into logical data streams and the physical characteristics are concealed. The functions and macros are listed below; more information is available from the individual man pages. A stream is associated with an external file (which may be a physical device) by 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 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, the position indicator will be placed the end-of-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 function; all output takes place as if all characters were read by successive calls to the function. A file is disassociated from a stream by 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 object is indeterminate after a file is closed (garbage). 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 function is called, all open files are closed (hence all output streams are flushed) before program termination. Other methods of program termination, such as do not bother about closing files properly. This implementation needs and makes no distinction between and streams. In effect, all streams are binary. No translation is performed and no extra padding appears on any stream. At program startup, three streams are predefined and need not be opened explicitly: (for reading conventional input), (for writing conventional output), and (for writing diagnostic output). These streams are abbreviated and Initially, the standard error stream is unbuffered; the standard input and output streams are fully buffered if and only if the streams do not refer to an interactive or device, as determined by the function. In fact, freshly-opened streams that refer to terminal devices default to line buffering, and pending output to such streams is written automatically whenever an such an input stream is read. Note that this applies only to if the read request can be satisfied by existing buffered data, no automatic flush will occur. In these cases, or when a large amount of computation is done after printing part of a line on an output terminal, it is necessary to the standard output before going off and computing so that the output will appear. Alternatively, these defaults may be modified via the function. The library is a part of the library and routines are automatically loaded as needed by the compilers and The 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. The following are defined as macros; these names may not be re-used without first removing their current definitions with Function versions of the macro functions and exist and will be used if the macros definitions are explicitly removed.

SEE ALSO

BUGS

The standard buffered functions do not interact well with certain other library and system functions, especially and

STANDARDS

The library conforms to

LIST OF FUNCTIONS

clearerr    check and reset stream status fclose    close a stream fdopen    stream open functions feof    check and reset stream status ferror    check and reset stream status fflush    flush a stream fgetc    get next character or word from input stream fgetln    get a line from a stream fgetpos    reposition a stream fgets    get a line from a stream fileno    check and reset stream status fopen    stream open functions fprintf    formatted output conversion fpurge    flush a stream fputc    output a character or word to a stream fputs    output a line to a stream fread    binary stream input/output freopen    stream open functions fropen    open a stream fscanf    input format conversion fseek    reposition a stream fsetpos    reposition a stream ftell    reposition a stream funopen    open a stream fwopen    open a stream fwrite    binary stream input/output getc    get next character or word from input stream getchar    get next character or word from input stream gets    get a line from a stream getw    get next character or word from input stream mkstemp    create unique temporary file mktemp    create unique temporary file perror    system error messages printf    formatted output conversion putc    output a character or word to a stream putchar    output a character or word to a stream puts    output a line to a stream putw    output a character or word to a stream remove    remove directory entry rewind    reposition a stream scanf    input format conversion setbuf    stream buffering operations setbuffer    stream buffering operations setlinebuf    stream buffering operations setvbuf    stream buffering operations snprintf    formatted output conversion sprintf    formatted output conversion sscanf    input format conversion strerror    system error messages sys_errlist    system error messages sys_nerr    system error messages tempnam    temporary file routines tmpfile    temporary file routines tmpnam    temporary file routines ungetc    un-get character from input stream vfprintf    formatted output conversion vfscanf    input format conversion vprintf    formatted output conversion vscanf    input format conversion vsnprintf    formatted output conversion vsprintf    formatted output conversion vsscanf    input format conversion


Table of Contents