FOPEN(3S)                                                            FOPEN(3S)


NAME
       fopen, freopen, fdopen - open a stream

SYNOPSIS
       #include <stdio.h>

       FILE *fopen(filename, type)
       char *filename, *type;

       FILE *freopen(filename, type, stream)
       char *filename, *type;
       FILE *stream;

       FILE *fdopen(fildes, type)
       char *type;

DESCRIPTION
       Fopen opens the file named by filename and associates a stream with it.
       Fopen returns a pointer to be used to identify the stream in subsequent
       operations.

       Type is a character string having one of the following values:

       "r"  open for reading

       "w"  create for writing

       "a"  append: open for writing at end of file, or create for writing

       In addition, each type may be followed by a "+" to have the file opened
       for reading and writing.  "r+" positions the stream at the beginning of
       the  file,  "w+"  creates or truncates it, and "a+" positions it at the
       end.  Both reads and writes may be used on read/write streams, with the
       limitation  that  an  fseek,  rewind, or reading an end-of-file must be
       used between a read and a write or vice-versa.

       Freopen substitutes the named file in place of  the  open  stream.   It
       returns the original value of stream.  The original stream is closed.

       Freopen  is  typically  used  to  attach  the preopened constant names,
       stdin, stdout, stderr, to specified files.

       Fdopen associates a stream with a file descriptor obtained  from  open,
       dup,  creat,  or  pipe(2).   The type of the stream must agree with the
       mode of the open file.

SEE ALSO
       open(2), fclose(3)

DIAGNOSTICS
       Fopen and freopen  return  the  pointer  NULL  if  filename  cannot  be
       accessed,  if  too  many  files are already open, or if other resources
       needed cannot be allocated.

BUGS
       Fdopen is not portable to systems other than UNIX.

       The read/write types do not exist on all systems.  Those systems  with‐
       out read/write modes will probably treat the type as if the "+" was not
       present.  These are unreliable in any event.

       In order to support the same number of open files as does  the  system,
       fopen  must allocate additional memory for data structures using calloc
       after 20 files have been opened.  This confuses some programs which use
       their  own memory allocators.  An undocumented routine, f_prealloc, may
       be called to force immediate allocation of all internal  memory  except
       for buffers.


4th Berkeley Distribution        May 27, 1986                        FOPEN(3S)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 384
Valid CSS Valid XHTML 1.0 Strict