All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.
@(#)fopen.3 5.1 (Berkeley) 05/15/85
FILE *fopen(filename, type)
char *filename, *type;
FILE *freopen(filename, type, stream)
char *filename, *type;
FILE *stream;
FILE *fdopen(fildes, type)
char *type;
Type is a character string having one of the following values:
5 "r" open for reading .ns
5 "w" create for writing .ns
5 "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.
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.