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