
NAME
	  stdio	- standard buffered input/output package
SYNTAX
	  #include <stdio.h>
	  FILE *stdin, *stdout,	*stderr;
DESCRIPTION
	  The functions	described in the entries of sub-class 3S of
	  this manual constitute an efficient, user-level I/O
	  buffering scheme.  The in-line macros	getc(3S) and putc(3S)
	  handle characters quickly.  The macros getchar and putchar,
	  and the higher-level routines	fgetc, fgets, fprintf, fputc,
	  fputs, fread,	fscanf,	fwrite,	gets, getw, printf, puts,
	  putw,	and scanf all use or act as if they use	getc and putc;
	  they can be freely intermixed.
	  A file with associated buffering is called a stream and is
	  declared to be a pointer to a	defined	type FILE.  Fopen(3S)
	  creates certain descriptive data for a stream	and returns a
	  pointer to designate the stream in all further transactions.
	  Normally, there are three open streams with constant
	  pointers declared in the <stdio.h> header file and
	  associated with the standard open files:
	       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
	  the individual descriptions for details).
	  An integer constant BUFSIZ specifies the size	of the buffers
	  used by the particular implementation.
	  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 the entries of
	  sub-class 3S of this manual are declared in that header file
	  and need no further declaration.  The	constants and the
	  following ``functions'' are implemented as macros
	  (redeclaration of these names	is perilous):  getc, getchar,
	  putc,	putchar, ferror, feof, clearerr, and fileno.
SEE ALSO
				  
	  open(2), close(2), lseek(2), pipe(2),	read(2), write(2),
	  ctermid(3S), cuserid(3S), fclose(3S),	ferror(3S), fopen(3S),
	  fread(3S), fseek(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).
DIAGNOSTICS
	  Invalid stream pointers will usually cause grave disorder,
	  possibly including program termination.  Individual function
	  descriptions describe	the possible error conditions.
 
