unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

STDIO(3)                   Linux Programmer's Manual                  STDIO(3)



NAME
       stdio - standard input/output library functions

SYNOPSIS
       #include <&lt;stdio.h>&gt;

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

DESCRIPTION
       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 func-
       tions 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.  Cre-
       ating  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, it is
       unspecified whether the position indicator will be placed at the  start
       or the end of the file.  The position indicator is maintained by subse-
       quent 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 written 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 reposi-
       tioned  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 stan-
       dard  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  auto-
       matically  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, SEEK_CUR, TMP_MAX, clearerr, feof, ferror, fileno,
       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.

   List of Functions
       ; lb lb lb l.  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    return the integer descriptor of  the  argument
       stream  fopen     stream open functions fprintf   formatted output con-
       version 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  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 tempo-
       rary filename (unique) perror    system error  messages  printf    for-
       matted  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 con-
       version sscanf    input format conversion strerror  system  error  mes-
       sages  sys_errlist    system error messages sys_nerr  system error mes-
       sages tempnam   temporary file routines tmpfile   temporary  file  rou-
       tines tmpnam    temporary file routines ungetc    un-get character from
       input stream vfprintf  formatted output conversion vfscanf   input for-
       mat  conversion  vprintf   formatted  output conversion vscanf    input
       format conversion vsprintf  formatted output conversion vsscanf   input
       format conversion

CONFORMING TO
       The stdio library conforms to C89.

SEE ALSO
       close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)

COLOPHON
       This  page  is  part of release 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



                                  2001-12-26                          STDIO(3)