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

write output to a specific file in C

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

$ myProgram input output

如何将所有 printf(..) 重定向到输出文件?我看到一些关于使用 fflush(stdout) 的建议,但我以前没有使用过。谁能给我举个例子吗?

你将不得不 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 page and this page 此代码取自第一个 link.

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

$ myProgram input output > example.txt

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

$ myProgram input output >> output

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