1
我想将STDOUT重定向到磁盘上的文件。重点是让我的程序中的printf写入文件而不是控制台。fclose(stdout)vs close(STDOUT_FILENO) - C
我看到他们过去在网络上的一些文章:
dup2(fileno(outputFile), STDOUT_FILENO);
或者:他们使用
close(STDOUT_FILENO);
dup(fileno(outputFile));
在每一个教学关闭()和它的实际工作。不过我很好奇,我试图用FCLOSE(标准输出)来代替,但有些错误发生了,当我试图用printf:
fclose(STDOUT_FILENO);
dup(fileno(outputFile));
错误:
Bad file descriptor
我的问题是,为什么FCLOSE做()不工作但close()呢?
谢谢。
如果您只是想将stdout重定向到文件,请使用shell重定向。如果你想学习如何使用C重定向文件,你应该改写这个问题。 –