首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教 dup(fd1, fd2) 和 fd2=fd1的区别

2012-03-07 
请问 dup(fd1, fd2) 和 fd2fd1的区别在Linux中,有这样一个复制文件描述符的函数dup(fd1,fd2),作用是将fd1

请问 dup(fd1, fd2) 和 fd2=fd1的区别
在Linux中,有这样一个复制文件描述符的函数dup(fd1,   fd2),作用是将fd1复制给
fd2.     小弟有个疑问:如果将fd1直接赋值给fd2(fd2=fd1)不也是一样的吗?


它们之间有什么区别吗?

请各位大大指教!

[解决办法]
dup2(fd1, fd2)后,fd1和fd2的值不同,但都指向打开的同一文件。
fd1=fd2后,fd1和fd2相同。

比如要把输出到屏幕的结果重定向到文件中,就可以用到dup2。
因为printf之类的函数总是往1号fd中写,我们可以:
dup2(filefd,1);
然后printf的输出就到filefd指定的文件中了。

热点排行