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

  man pages->Linux man pages -> stdio (3)              
Title
Content
Arch
Section
 

STDIO(3)

Contents


NAME    [Toc]    [Back]

       stdio - standard input/output library functions

SYNOPSIS    [Toc]    [Back]

       #include <stdio.h>

       FILE *stdin;
       FILE *stdout;
       FILE *stderr;

DESCRIPTION    [Toc]    [Back]

       The  standard  I/O  library  provides  a  simple and efficient buffered
       stream I/O interface.  Input and output is  mapped  into  logical  data
       streams	and  the physical I/O 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 opening 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 file position indicator 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
       fgetc(3)  function;  all  output  takes place as if all characters were
       read by successive calls to the fputc(3) function.

       A file is disassociated from a stream  by  closing  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 FILE 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  exit(3) function is called, all open files are closed
       (hence all output streams  are  flushed)  before  program  termination.
       Other  methods  of  program termination, such as abort(3) do not bother
       about closing files properly.

       At program startup, three text streams are predefined and need  not  be
       opened  explicitly  -- standard input (for reading conventional input),
       -- standard output (for writing conventional input), and standard error
       (for   writing  diagnostic  output).   These  streams  are  abbreviated
       stdin,stdout and stderr.  When opened, the standard error stream is not
       fully  buffered;  the  standard	input  and  output  streams  are fully
       buffered if and only if the streams do not to refer to  an  interactive
       device.

       Output  streams that refer to terminal devices are always line buffered
       by default; pending output to such  streams  is	written  automatically
       whenever  an input stream that refers to a terminal device is read.  In
       cases where a large amount of computation is done after	printing  part
       of a line on an output terminal, it is necessary to fflush(3) the standard
 output before going off and computing  so  that  the  output  will
       appear.

       The  stdio library is a part of the library libc and routines are automatically
 loaded as needed by the compilers cc(1) and pc(1).  The  SYN-
       OPSIS  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  #undef:  BUFSIZ,
       EOF,  FILENAME_MAX,  FOPEN_MAX,	L_cuserid,  L_ctermid, L_tmpnam, NULL,
       SEEK_END, SEEK_SET, SEE_CUR, TMP_MAX, clearerr, feof,  ferror,  fileno,
       fropen,	fwopen,  getc,	getchar, putc, putchar, stderr, stdin, stdout.
       Function versions  of  the  macro  functions  feof,  ferror,  clearerr,
       fileno,	getc, getchar, putc, and putchar exist and will be used if the
       macros definitions are explicitly removed.

SEE ALSO    [Toc]    [Back]

      
      
       open(2), close(2), read(2), write(2), stdout(3)

BUGS    [Toc]    [Back]

       The standard buffered functions do not interact well with certain other
       library and system functions, especially vfork and abort.  This may not
       be the case under Linux.

CONFORMING TO    [Toc]    [Back]

       The stdio library conforms to ANSI X3.159-1989 (``ANSI C'').

LIST OF FUNCTIONS    [Toc]    [Back]

       Function
	      Description

       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

       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

       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

       mktemp make temporary file name (unique)

       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

       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

       vsprintf
	      formatted output conversion

       vsscanf
	      input format conversion



BSD MANPAGE			  1993-11-29			      STDIO(3)
[ Back ]
 Similar pages
Name OS Title
tee Linux read from standard input and write to standard output and files
stdio IRIX standard buffered input/output package
perlclib OpenBSD Internal replacements for standard C library functions
vintovout IRIX Video Library video output from video input tool
echo Tru64 Writes its arguments to standard output
echo FreeBSD write arguments to the standard output
pr Tru64 Writes a file to standard output
echo OpenBSD write arguments to the standard output
read IRIX read a line from standard input
read Tru64 Reads a line from standard input
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service