当前位置: 技术问答>linux和unix
求教:关于printf重定向的问题。
来源: 互联网 发布时间:2016-02-06
本文导语: 请问执行下面这段代码后为什么在文件out中看不到输出的内容。 int main() { int fd; fd = open("out", "w"); if (fd >= 0) { dup2(fd, 1) printf("hellon"); } return 0; } | open()函数的参数不对,你似乎...
请问执行下面这段代码后为什么在文件out中看不到输出的内容。
int main() {
int fd;
fd = open("out", "w");
if (fd >= 0) {
dup2(fd, 1)
printf("hellon");
}
return 0;
}
int main() {
int fd;
fd = open("out", "w");
if (fd >= 0) {
dup2(fd, 1)
printf("hellon");
}
return 0;
}
|
open()函数的参数不对,你似乎是用了fopen()的参数,请使用类似O_RDWR/O_CREAT/...之类的参数,具体的man一下就知道了。
另外贴的代码里有几点请注意:头文件未列出,dup2()调用后无分号,未关闭输出文件等
另外贴的代码里有几点请注意:头文件未列出,dup2()调用后无分号,未关闭输出文件等
|
你的代码实在太烂了,如果想从人家那得到帮助,还是把代码写的舒服点,不要让人家帮你查语法错误,那编译器就能完成的。
而且从你的代码里很难看出意图。说说你究竟要做什么嘛。
而且从你的代码里很难看出意图。说说你究竟要做什么嘛。