- 论坛徽章:
- 0
|
想问一下再关闭了标准输入输出和出错的文件描述符以后怎么才能重新打开呢!!?
还有就是在将0~65535的描述符全部关闭了以后还能重新打开0,1,2三个描述符吗??
通过二楼大哥的方法解决了问题了,
我自己编了一下代码试了一下:
int main()
{
char *buf = "hello";
int len = strlen(buf);
close(1);
freopen("/dev/tty","w",stdout);
write(1,buf,len+1);
}
|
但是三楼版主的意见还是不能体会啊
能不能给个open的例子啊!!!
用open函数怎么替换下面的这行代码呢?
freopen("/dev/tty","w",stdout);
|
根据future0906的提示 我试着改成下面的代码 成功了!!
open("/dev/pts/0",O_WRONLY); |
原来/dev/stdout 是指向/proc/self/fd/1 的连接,而/proc/self/fd/1有指向了/dev/pts/0
太感谢各位了 尤其是二楼的zhuhefang2006 和future0906的帮助!!!
[ 本帖最后由 renfeide112 于 2009-2-23 16:26 编辑 ] |
|