用C ++记录命令行

时间:2017-09-08 22:22:27

标签: c++ logging

我正在尝试创建一个利用命令行显示数据的脚本,我希望能够将输出到命令行的所有内容记录到一个单独的文件中。

我正在使用fstream,iostream和std命名空间。我只需要知道如何引用命令行CmdExample.exe以及将其写入txt文件的所有内容。

示例:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    cout << "This is some text I want to reference when the program ends" << endl << "and write to a txt file.";

    return 0;
}

1 个答案:

答案 0 :(得分:2)

您可以使用输出重定向。即:

./a.out > my_output.txt

这会将已经输出到终端的所有内容放入新文件my_output.txt(或覆盖文件中已有的任何内容)。

如果您想要按cerr输出内容,可以将其修改为:

./a.out 2>&1 > my_output.txt #push stderr -> stdout, then stdout -> my_output.txt

同样,您也可以使用script。要使用脚本,您可以这样做:

script my_output.txt #start the script to my_output.txt 
./a.out #run program
exit #end script