3

假设我有一个简单地输出“Hello World”的程序:

//DEMO.c
#include<stdio.h>

int main()
{
printf("HELLO World");
}

现在我想将它同时显示到屏幕和文件中output.txt。所以我在命令提示符中输入以下命令(我在 Windows XP 上使用 CodeBlocks 并且已将其配置为在命令提示符下工作):

demo.exe>>output.txt>>stdout

它不起作用!请告诉我该怎么做,即如何将我在屏幕上看到的相同内容(当我运行程序时)同时输出到文本文件?

4

2 回答 2

3

您需要下载tee适用于 Windows 的命令。tee是一个 UNIX/Linux 命令,它将标准输入复制到标准输出并输出到文件。然后,您可以这样做:

demo.exe | tee output.txt

这是teeWindows 的一个端口。

于 2013-04-23T09:41:30.547 回答
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;
 }
于 2013-04-23T10:28:46.487 回答