fdopen() Open a Stream Using a Handle
#include <stdio.h>
FILE *fdopen(handle,type); Pointer to open stream
int handle; Handle referring to open file
char *type; Type of access permitted
fdopen() associates a stream with a file 'handle' obtained from
creat(), open(), dup(), or dup2(), thereby allowing a file opened for
low-level I/O to be buffered and formatted. 'type' specifies the
type of access requested for the file. The specified 'type' must
match the access mode with which the file was opened:
"r" Open for reading only. The file must exist.
"w" Create a new file for writing, or open an existing file
for writing. Use with care: If the file already exists,
its contents will be destroyed.
"a" Append. Open for writing at the end-of-file, or create
for writing if the file doesn't exist. Existing data
cannot be overwritten in this mode.
"r+" Update. Open an existing file for reading and writing;
the file must exist.
"w+" Open an empty file for reading and writing. Use with
care: If the file exists, its contents will be destroyed.
"a+" Open for reading and appending; create the file if it
doesn't exist. All write operations take place at the
end of the file; existing data cannot be overwritten.
The following characters may be appended to the above 'types' to
specify the translation mode for the new lines:
t Open in text (translated) mode; The CR-LF pair is
translated into a single LF on input; LF is translated to
CR-LF on output.
b Open in binary (untranslated) mode. The above
translation is suppressed.
If 't' or 'b' is not specified, the translation mode is defined by
the default mode variable '_fmode'. '_fmode' can be set to O_BINARY,
binary mode, or O_TEXT, text mode. These constants are defined in
<fcntl.h>.
Returns: A pointer to the open stream. NULL is returned on error.
Notes: Both reading and writing are allowed when using "r+",
"w+" or "a+". However, you must have an intervening
fseek or rewind operation when switching between reading
and writing (or vice versa).
-------------------------------- Example ---------------------------------
This example opens a file in read only mode, then associates a stream
with the open file handle:
#include <stdio.h>
#include <fcntl.h>
FILE *stream;
int fhndl;
main()
{
fhndl = open("input.txt",O_RDONLY);
.
.
.
stream = fdopen(fhndl,"r");
}
Seealso:
This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster