dup2

dup2(复制文件描述符)

相关函数:open,close,fcntl,dup

表头文件:#include <unistd.h>

定义函数:int dup2(int oldfd, int newfd);

函数说明:dup2()用来复制参数oldfd所指向的文件描述符,并将它复制到参数newfd所指定的文件描述符。如果newfd已经打开,则先将其关闭。成功复制后,两个文件描述符共享同一个文件指针。

返回值:如果成功返回新的文件描述符,如果出错则返回-1。

错误代码:EBADF:参数oldfd无效的文件描述符。 EMFILE:进程已打开的文件描述符数量已达上限。

范例:

#include <unistd.h>
#include <stdio.h>
main()
{
    dup2(1, 3);
    /* 复制标准输出到文件描述符3 */
    printf("复制成功\n");
}