日期:2014-05-16  浏览次数:20600 次

求教:关于printf重定向的问题。
请问执行下面这段代码后为什么在文件out中看不到输出的内容。

int   main()   {
int   fd;
fd   =   open( "out ",   "w ");
if   (fd   > =   0)   {
dup2(fd,   1)
printf( "hello\n ");
}
return   0;
}

------解决方案--------------------
open()函数的参数不对,你似乎是用了fopen()的参数,请使用类似O_RDWR/O_CREAT/...之类的参数,具体的man一下就知道了。

另外贴的代码里有几点请注意:头文件未列出,dup2()调用后无分号,未关闭输出文件等
------解决方案--------------------
你的代码实在太烂了,如果想从人家那得到帮助,还是把代码写的舒服点,不要让人家帮你查语法错误,那编译器就能完成的。
而且从你的代码里很难看出意图。说说你究竟要做什么嘛。