Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


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


     stdio - standard input/output library functions


     #include <stdio.h>
     FILE *stdin;
     FILE *stdout;
     FILE *stderr;


     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 output), 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 refer to an interactive
     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
     The stdio library is a part of the library libc and routines are  auto-
     matically loaded as needed by cc(1).  The SYNOPSIS sections of the fol-
     lowing 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  reused
     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
     Function         Description
     clearerr(3)      check and reset stream status
     fclose(3)        close a stream
     fdopen(3)        stream open functions
     feof(3)          check and reset stream status
     ferror(3)        check and reset stream status
     fflush(3)        flush a stream
     fgetc(3)         get next character or word from input stream
     fgetpos(3)       reposition a stream
     fgets(3)         get a line from a stream
     fileno(3)        return the integer descriptor of the argument stream
     fopen(3)         stream open functions
     fprintf(3)       formatted output conversion
     fpurge(3)        flush a stream
     fputc(3)         output a character or word to a stream
     fputs(3)         output a line to a stream
     fread(3)         binary stream input/output
     freopen(3)       stream open functions
     fscanf(3)        input format conversion
     fseek(3)         reposition a stream
     fsetpos(3)       reposition a stream
     ftell(3)         reposition a stream
     fwrite(3)        binary stream input/output
     getc(3)          get next character or word from input stream
     getchar(3)       get next character or word from input stream
     gets(3)          get a line from a stream
     getw(3)          get next character or word from input stream
     mktemp(3)        make temporary filename (unique)
     perror(3)        system error messages
     printf(3)        formatted output conversion
     putc(3)          output a character or word to a stream
     putchar(3)       output a character or word to a stream
     puts(3)          output a line to a stream
     putw(3)          output a character or word to a stream
     remove(3)        remove directory entry
     rewind(3)        reposition a stream
     scanf(3)         input format conversion
     setbuf(3)        stream buffering operations
     setbuffer(3)     stream buffering operations
     setlinebuf(3)    stream buffering operations
     setvbuf(3)       stream buffering operations
     sprintf(3)       formatted output conversion
     sscanf(3)        input format conversion
     strerror(3)      system error messages
     sys_errlist(3)   system error messages
     sys_nerr(3)      system error messages
     tempnam(3)       temporary file routines
     tmpfile(3)       temporary file routines
     tmpnam(3)        temporary file routines
     ungetc(3)        un-get character from input stream
     vfprintf(3)      formatted output conversion
     vfscanf(3)       input format conversion
     vprintf(3)       formatted output conversion
     vscanf(3)        input format conversion
     vsprintf(3)      formatted output conversion
     vsscanf(3)       input format conversion


     The stdio library conforms to C89.


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


     This  page  is  part of release 4.16 of the Linux man-pages project.  A
     description of the project, information about reporting bugs,  and  the
     latest     version     of     this    page,    can    be    found    at
                                2017-11-26                          STDIO(3)
/data/webs/external/dokuwiki/data/pages/man/stdio.txt · Last modified: 2019/05/17 09:47 by

Was this page helpful?-12+1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki