爱问 爱问共享资料 爱问分类
首页 >
电脑/网络
>
程序设计
>
C/C++

dup()函数干什么用的呢?是复制一个文件描述符吗?

为什么要复制文件描述符?复制文件描述符有什么意义吗?

好评回答

yanwei4 | 06-08-18 300 62
其实就是这样:dup()或者dup2()主要是将某个特定的文件描述字输出输出的重定向!他们保证将复制的文件描述字到当前未打开的最小描述字!事例代码intfd;if(argc!=2){err_quit(" ");}if((fd=creat(argv[1],0644))<0){err_quit("createfilefailed");}close(1);dup(fd);close(fd);printf("whatareyouthinking???");这里你看,你先关掉了标准输出close(1),那么这个描述字就空闲着,你一旦dup就重定向到他了dup(fd),他们两共享同一个打开的文件表项,然后你将输出标准流到它现在指定的地方close(fd),也就是那个文件!然后printf直接输出到文件

类似问题

换一换
  • C/C++相关知识

  • 电脑网络技术
  • 电脑网络

相关资料

确定举报此问题
举报原因(必选):
报告,这不是个问题
报告原因(必选):