###

###

###

###

###

###

###

###

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

    NAME
           fopen, fdopen, freopen - stream open functions

    SYNOPSIS
           #include <stdio.h>

           FILE *fopen( char *path, char *mode);
           FILE *fdopen( int fildes, char *mode);
           FILE *freopen( char *path, char *mode, FILE *stream);

    DESCRIPTION
           The fopen function opens the file whose name is the string
           pointed to by path and associates a stream with it.

           The argument mode points to a string beginning with one of
           the  following sequences (Additional characters may follow
           these sequences.):

           r      Open text file for reading.  The  stream  is  posi-
                  tioned at the beginning of the file.

           r+     Open  for reading and writing.  The stream is posi-
                  tioned at the beginning of the file.

           w      Truncate file to zero length or  create  text  file
                  for  writing.   The  stream  is  positioned  at the
                  beginning of the file.

           w+     Open for reading and writing.  The file is  created
                  if  it  does  not exist, otherwise it is truncated.
                  The stream is positioned at the  beginning  of  the
                  file.

           a      Open  for  writing.  The file is created if it does
                  not exist.  The stream is positioned at the end  of
                  the file.

           a+     Open  for reading and writing.  The file is created
                  if it does not exist.  The stream is positioned  at
                  the end of the file.

           The  mode  string can also include the letter ``b'' either
           as a third character or as a character between the charac-
           ters  in any of the two-character strings described above.
           This is strictly for compatibility with  ANSI  C3.159-1989
           (``ANSI  C'')  and  has  no  effect; the ``b'' is ignored.
           Linux may not behave this way.

           Any      created      files      will      have       mode
           S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH (0666), as
           modified by the process' umask value (see umask(2).

           Reads and writes may be intermixed on  read/write  streams
           in  any  order, and do not require an intermediate seek as

    BSD MANPAGE              29 November 1993                       1

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

           in previous versions of stdio.  This is  not  portable  to
           other  systems,  however,  and  may  not  work under Linux
           (someone should find out and fix  this  manpage);  ANSI  C
           requires   that  a  file  positioning  function  intervene
           between  output  and  input,  unless  an  input  operation
           encounters end-of-file.

           The  fdopen function associates a stream with the existing
           file descriptor, fildes.  The mode of the stream  must  be
           compatible with the mode of the file descriptor.

           The  freopen  function  opens  the  file whose name is the
           string pointed  to  by  path  and  associates  the  stream
           pointed  to by stream with it.  The original stream (if it
           exists) is closed.  The mode argument is used just  as  in
           the  fopen function.  The primary use of the freopen func-
           tion is to change the file associated with a standard text
           stream (stderr, stdin, or stdout).

    RETURN VALUES
           Upon  successful  completion  fopen,  fdopen  and  freopen
           return a FILE pointer.  Otherwise, NULL  is  returned  and
           the global variable errno is set to indicate the error.

    ERRORS
           EINVAL The  mode provided to fopen, fdopen, or freopen was
                  invalid.

           The fopen, fdopen and freopen functions may also fail  and
           set  errno for any of the errors specified for the routine
           malloc(3).

           The fopen function may also fail and set errno for any  of
           the errors specified for the routine open(2).

           The fdopen function may also fail and set errno for any of
           the errors specified for the routine fcntl(2).

           The freopen function may also fail and set errno  for  any
           of   the   errors  specified  for  the  routines  open(2),
           fclose(3) and fflush(3).

### SEE ALSO

open, fclose,

###

###

    STANDARDS
           The  fopen  and  freopen   functions   conform   to   ANSI
           C3.159-1989 (``ANSI C'').  The fdopen function conforms to
           IEEE Std1003.1-1988 (``POSIX'').

    BSD MANPAGE              29 November 1993                       2

Top | Master Index | Keywords | Functions

This manual page was brought to you by mjl_man V-2.0