将输出写入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);
}
如果您尝试重定向程序的输出,则可以从命令行本身轻松完成,而无需向您的程序添加任何其他代码。像这样修改命令即可。
$ myProgram input output > example.txt
如果你想将输出附加到输出文件的末尾,那么命令将是这样的。
$ myProgram input output >> output
然而,在这两种情况下,屏幕上都不会打印任何内容。程序的全部输出将写入文件。
我的程序使用两个参数(输入 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);
}
如果您尝试重定向程序的输出,则可以从命令行本身轻松完成,而无需向您的程序添加任何其他代码。像这样修改命令即可。
$ myProgram input output > example.txt
如果你想将输出附加到输出文件的末尾,那么命令将是这样的。
$ myProgram input output >> output
然而,在这两种情况下,屏幕上都不会打印任何内容。程序的全部输出将写入文件。