FOPEN(3S)	    UNIX Programmer's Manual		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 iden-
     tify 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 trun-
     cates it, and "a+" positions it at the end.  Both reads and
     writes may be used on read/write streams, with the limita-
     tion 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 ori-
     ginal 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)


Printed 11/26/99	  May 27, 1986				1


FOPEN(3S)	    UNIX Programmer's Manual		FOPEN(3S)


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 without 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 allo-
     cators.  An undocumented routine, f_prealloc, may be called
     to force immediate allocation of all internal memory except
     for buffers.


Printed 11/26/99	  May 27, 1986				2


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1642
Valid CSS Valid XHTML 1.0 Strict