From 8a0524cf581126b0f9250b5f3bbd726bfe4fb68c Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Wed, 15 May 1985 22:50:54 -0800 Subject: [PATCH] manual page distributed with 4.2BSD SCCS-vsn: lib/libc/stdio/stdio.3 5.1 --- usr/src/lib/libc/stdio/stdio.3 | 126 +++++++++++++++++++++++---------- 1 file changed, 87 insertions(+), 39 deletions(-) diff --git a/usr/src/lib/libc/stdio/stdio.3 b/usr/src/lib/libc/stdio/stdio.3 index 7f6e10ea1a..0d10dce040 100644 --- a/usr/src/lib/libc/stdio/stdio.3 +++ b/usr/src/lib/libc/stdio/stdio.3 @@ -2,9 +2,9 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)stdio.3 4.1 (Berkeley) %G% +.\" @(#)stdio.3 5.1 (Berkeley) %G% .\" -.TH STDIO 3S +.TH INTRO 3S "18 July 1983" .UC 4 .SH NAME stdio \- standard buffered input/output package @@ -23,36 +23,40 @@ stdio \- standard buffered input/output package .B FILE .B *stderr; .SH DESCRIPTION -The functions described in Sections 3S constitute an efficient -user-level buffering scheme. -The in-line macros +The functions described in section 3S constitute a user-level buffering +scheme. The in-line macros .I getc and -.IR putc (3) -handle characters quickly. -The higher level routines -.I "gets, fgets, scanf, fscanf, fread," -.I "puts, fputs, printf, fprintf, fwrite" +.IR putc (3S) +handle characters quickly. The higher level routines +.IR gets , +.IR fgets , +.IR scanf , +.IR fscanf , +.IR fread , +.IR puts , +.IR fputs , +.IR printf , +.IR fprintf , +.IR fwrite all use .I getc and -.I putc; +.IR putc ; they can be freely intermixed. .PP A file with associated buffering is called a -.I stream, +.IR stream , and is declared to be a pointer to a defined type .SM -.B FILE. -.IR Fopen (3) +.BR FILE . +.IR Fopen (3S) creates certain descriptive data for a stream -and returns a pointer to designate the stream in all -further transactions. -There are three normally open streams with constant -pointers declared in +and returns a pointer to designate the stream in all further transactions. +There are three normally open streams with constant pointers declared in the include file and associated with the standard open files: .TP 10n -.BR stdin +.B stdin standard input file .br .ns @@ -62,7 +66,7 @@ standard output file .br .ns .TP -.BR stderr +.B stderr standard error file .PP A constant `pointer' @@ -74,28 +78,26 @@ designates no stream at all. An integer constant .SM .B EOF -(\-1) is returned -upon end of file or error by integer functions that +(\-1) is returned upon end of file or error by integer functions that deal with streams. .PP Any routine that uses the standard input/output package -must include the header file of pertinent -macro definitions. +must include the header file +.RI < stdio.h > +of pertinent macro definitions. The functions and constants mentioned in sections labeled 3S -are declared in the include file -and need no further declaration. +are declared in the include file and need no further declaration. The constants, and the following `functions' are -implemented as macros; redeclaration of these names -is perilous: -.I getc, -.I getchar, -.I putc, -.I putchar, -.I feof, -.I ferror, +implemented as macros; redeclaration of these names is perilous: +.IR getc , +.IR getchar , +.IR putc , +.IR putchar , +.IR feof , +.IR ferror , .IR fileno . .SH "SEE ALSO" -open(2), close(2), read(2), write(2) +open(2), close(2), read(2), write(2), fread(3S), fseek(3S), f*(3S) .SH DIAGNOSTICS The value .SM @@ -104,9 +106,8 @@ is returned uniformly to indicate that a .SM .B FILE pointer has not been initialized with -.I fopen, -input (output) has been attempted on an output (input) stream, -or a +.IR fopen , +input (output) has been attempted on an output (input) stream, or a .SM .B FILE pointer designates corrupt or otherwise unintelligible @@ -126,6 +127,53 @@ themselves to read from the standard input. .PP In cases where a large amount of computation is done after printing part of a line on an output terminal, it is necessary to -.IR fflush (3) +.IR fflush (3S) the standard output before going off and computing so that the output will appear. +.SH BUGS +The standard buffered functions do not interact well with certain other +library and system functions, especially \fIvfork\fP and \fIabort\fP. +.SH "LIST OF FUNCTIONS" +.sp 2 +.nf +.ta \w'setlinebuf'u+2n +\w'setbuf.3s'u+10n +\fIName\fP \fIAppears on Page\fP \fIDescription\fP +.ta \w'setlinebuf'u+4n +\w'setbuf.3s'u+4n +.sp 5p +clearerr ferror.3s stream status inquiries +fclose fclose.3s close or flush a stream +fdopen fopen.3s open a stream +feof ferror.3s stream status inquiries +ferror ferror.3s stream status inquiries +fflush fclose.3s close or flush a stream +fgetc getc.3s get character or word from stream +fgets gets.3s get a string from a stream +fileno ferror.3s stream status inquiries +fopen fopen.3s open a stream +fprintf printf.3s formatted output conversion +fputc putc.3s put character or word on a stream +fputs puts.3s put a string on a stream +fread fread.3s buffered binary input/output +freopen fopen.3s open a stream +fscanf scanf.3s formatted input conversion +fseek fseek.3s reposition a stream +ftell fseek.3s reposition a stream +fwrite fread.3s buffered binary input/output +getc getc.3s get character or word from stream +getchar getc.3s get character or word from stream +gets gets.3s get a string from a stream +getw getc.3s get character or word from stream +printf printf.3s formatted output conversion +putc putc.3s put character or word on a stream +putchar putc.3s put character or word on a stream +puts puts.3s put a string on a stream +putw putc.3s put character or word on a stream +rewind fseek.3s reposition a stream +scanf scanf.3s formatted input conversion +setbuf setbuf.3s assign buffering to a stream +setbuffer setbuf.3s assign buffering to a stream +setlinebuf setbuf.3s assign buffering to a stream +sprintf printf.3s formatted output conversion +sscanf scanf.3s formatted input conversion +ungetc ungetc.3s push character back into input stream +.fi -- 2.20.1