stdio man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



STDIO(3S)							     STDIO(3S)

NAME
     stdio - standard buffered input/output package

SYNOPSIS
     #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

     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
			   0.
	  STDOUT_FILENO	   Standard output value, stdout.  It has the value of
			   1.
	  STDERR_FILENO	   Standard error value, stderr.  It has the value of
			   2.

     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.

NOTE
     When utilizing stdin, stdout, or stderr in executables which have set-
     userid or set-groupid permissions, or which have been granted enhanced
     capabilties (i.e. via chcap(1)), one must take care to ensure that these
     file descriptors are not open upon unintended files.  Under the following
     circumstances, the IRIX libc implementation ensures the stdio file
     descriptors are open before main program execution begins:

	  The real user ID is not the superuser, or the system is configured
	  to not have a superuser; and

	  The real and effective user or real and effective group do not
	  match, or the executable has been granted any capability.

     This is a departure from traditional exec(2) semantics with regard to
     open file descriptors.

SEE ALSO
     exec(2), 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).

									Page 2

STDIO(3S)							     STDIO(3S)

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

									Page 3

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net