dup2() Reassign a File Handle
#include <io.h> Required for declarations only
int dup2(handle1, handle2);
int handle1; Handle referring to open file
int handle2; Any handle value
dup2() causes 'handle2' to refer to the same file as 'handle1', which
is an already open file. Either file handle can be used to carry out
operations on the file, since all handles associated with a given file
use the same file pointer.
Returns: Zero if successful getting a new file handle, or -1 if
there is an error. On error, ERRNO is set to:
EBADF Invalid file handle
EMFILE Too many files open
Notes: In the example below, if file handle 3 is already open, it
will be closed first.
-------------------------------- Example ---------------------------------
These statements make file handle 3 refer to the same file as file
handle 1.
#include <io.h>
#include <stdlib.h>
int fh;
main()
{
fh = dup2(1,3);
if (fh == -1)
perror("error setting duplicate file handles");
}
Seealso:
This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster