dup
dup(复制文件描述符)
相关函数:open,close,fcntl,dup2
表头文件:#include <unistd.h>
定义函数:int dup(int oldfd);
函数说明:dup()用来复制参数oldfd所指向的文件描述符。复制成功后,新的文件描述符和原来的文件描述符共享同一个文件指针。dup()会使用当前最小的未使用文件描述符作为新的文件描述符。
返回值:如果成功返回新的文件描述符,如果出错则返回-1。
错误代码:EBADF:参数oldfd无效的文件描述符。 EMFILE:进程已打开的文件描述符数量已达上限。
范例:
#include <unistd.h>
#include <stdio.h>
main()
{
int newfd;
newfd = dup(1);
/* 复制标准输出 */
if (newfd != -1)
printf("复制成功,新文件描述符为%d\n", newfd);
}