*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> stdio (3s)              



STDIO(3S)							     STDIO(3S)

NAME    [Toc]    [Back]

     stdio - standard buffered input/output package

SYNOPSIS    [Toc]    [Back]

     #include <stdio.h>

     FILE *stdin, *stdout, *stderr;

DESCRIPTION    [Toc]    [Back]

     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 get
 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

     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

     The following symbolic values in <unistd.h> define	the file descriptors
     that will be associated with the C-language stdin,	stdout and stderr when
     the application is	started:

	  STDIN_FILENO	   Standard input value, stdin.	 It has	the value of
	  STDOUT_FILENO	   Standard output value, stdout.  It has the value of
	  STDERR_FILENO	   Standard error value, stderr.  It has the value of

     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.

     An	integer	constant FILENAME_MAX specifies	the size needed	for an array
     of	char large enough to hold the longest file name	string that the
     implementation guarantees can be opened.

									Page 1

STDIO(3S)							     STDIO(3S)

     An	integer	constant FOPEN_MAX specifies the minimum number	of files that
     the implementation	guarantees can be open simultaneously.	Note that no
     more than 255 files may be	opened via fopen, and only file	descriptors 0
     through 255 are valid.

     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.

     Output streams, with the exception	of the standard	error stream stderr,
     are by default buffered if	the output refers to a file and	line-buffered
     if	the output refers to a terminal.  The standard error output stream
     stderr is by default unbuffered, but use of freopen [see fopen(3S)] will
     cause it to become	buffered or line-buffered.  When an output stream is
     unbuffered, information is	queued for writing on the destination file or
     terminal as soon as written; when it is buffered, many characters are
     saved up and written as a block.  When it is line-buffered, each line of
     output is queued for writing on the destination terminal as soon as the
     line is completed (that is, as soon as a new-line character is written or
     terminal input is requested).  setbuf(3S) or setvbuf(3S) in setbuf(3S)
     may be used to change the stream's	buffering strategy.

SEE ALSO    [Toc]    [Back]

     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    [Toc]    [Back]

     Invalid stream pointers will usually cause	grave disorder,	possibly
     including program termination.  Individual	function descriptions describe
     the possible error	conditions.

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
tee Linux read from standard input and write to standard output and files
stdio OpenBSD standard input/output library functions
stdio NetBSD standard input/output library functions
stdio Linux standard input/output library functions
stdio FreeBSD standard input/output library functions
flush IRIX Flush buffered output for a file
flush IRIX Flush buffered output for a file
flush IRIX Flush buffered output for a file
stdipc IRIX standard interprocess communication package
echo FreeBSD write arguments to the standard output
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service