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");
}