LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 625|回复: 2

求助

[复制链接]
发表于 2006-5-23 08:03:49 | 显示全部楼层 |阅读模式
dup(fd,0);
dup(fd,1);
dup(fd,2);
if(fd>2)
  close (fd);
源于unix环境高级编程第三章习题,这个程序是完成什么功能,而且书上说这个程序应用比较广泛,那位大虾可否举个例子阿
发表于 2006-5-23 10:18:47 | 显示全部楼层
就是完成文件描述符的复制,第一条是将该文件描述符复制为“0”也就是标准输入,这样原先的标准输入就会被关闭,同样后边分别是标准输出和标准出错。
例如:对标准输出作了dup(fd,1);而你现在有一条语句printf("XXXXX\n");这条信息就不会被打印在屏幕上,而是打印在fd所代表的文件里。
这实际上就是重定向的实现方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-23 21:47:12 | 显示全部楼层
谢谢,明白了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表