假设我有以下程序只输出“Hello World”:
//DEMO.c
#include<stdio.h>
int main()
{
printf("HELLO World");
}
现在我想将它显示在屏幕和文件output.txt
上。所以我在命令提示符下输入以下命令(我在Windows XP上使用CodeBlocks并将其配置为在命令提示符下工作孔):
demo.exe>>output.txt>>stdout
它不起作用!!!请告诉我怎么做,即如何输出我在屏幕上看到的同样的东西(当我运行程序时),同时输出到文本文件?
答案 0 :(得分:3)
您需要为Windows下载tee
命令。 tee
是一个UNIX / Linux命令,它将标准输入复制到标准输出并输出到文件。然后,你可以这样做:
demo.exe | tee output.txt
Windows的
答案 1 :(得分:1)
#include <stdio.h>
#define my_fprintf(fp,...) do{fprintf(fp, __VA_ARGS__);fprintf(stdout, __VA_ARGS__);}while(0)
int main(int argc, char **argv){
FILE *fp;
fp=fopen("output.txt","w");//or filename from argv[1]
my_fprintf(fp, "hello world by %s\n", argv[0]);
fclose(fp);
return 0;
}