将输出写入C中的特定文件

时间:2015-02-23 09:38:05

标签: c output cat fflush

我的程序使用两个参数(放在argv中)执行,如下所示:

$ myProgram input output

如何将所有printf(..)重定向到输出文件?我看到了一些关于使用fflush(stdout)的建议,但我之前没有使用它。有人能告诉我一个例子吗?

2 个答案:

答案 0 :(得分:1)

如果您尝试重定向程序的输出,那么可以从命令行本身轻松完成,而无需向程序添加任何其他代码。只需像这样修改命令。

$ myProgram input output > example.txt

如果你想将输出附加到输出文件的末尾,那么命令将是这样的。

$ myProgram input output >> output

然而,在这两种情况下,屏幕上都不会打印任何内容。程序的整个输出将写入文件中。

答案 1 :(得分:0)

您必须fprintf()而不是printf

这是一个例子

#include <stdio.h>

main()
{
   FILE *fp;
   fp = fopen("/tmp/test.txt", "w+");
   fprintf(fp, "This is testing for fprintf...\n");
   fputs("This is testing for fputs...\n", fp);
   fclose(fp);
}

有关详细信息,请参阅This pagethis page 此代码取自第一个链接。