Given an open file descriptor, you can create a stream for it with the
fdopen function. You can get the underlying file descriptor for
an existing stream with the
fileno function. These functions are
declared in the header file `stdio.h'.
fdopenfunction returns a new stream for the file descriptor filedes.
The opentype argument is interpreted in the same way as for the
fopen function (see section Opening Streams), except that
the `b' option is not permitted; this is because GNU makes no
distinction between text and binary files. Also,
"w+" do not cause truncation of the file; these have affect only
when opening a file, and in this case the file has already been opened.
You must make sure that the opentype argument matches the actual
mode of the open file descriptor.
The return value is the new stream. If the stream cannot be created (for example, if the modes for the file indicated by the file descriptor do not permit the access specified by the opentype argument), a null pointer is returned instead.
In some other systems,
fdopen may fail to detect that the modes
for file descriptor do not permit the access specified by
opentype. The GNU C library always checks for this.
For an example showing the use of the
see section Creating a Pipe.
There are also symbolic constants defined in `unistd.h' for the
file descriptors belonging to the standard streams
stderr; see section Standard Streams.
0, which is the file descriptor for standard input.
1, which is the file descriptor for standard output.
2, which is the file descriptor for standard error output.
Go to the first, previous, next, last section, table of contents.