在C++中记录命令行

Log the Command Line in C++

本文关键字:命令行 记录 C++      更新时间:2023-10-16

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

我正在使用 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;
}

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

./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 my_output.txt #start the script to my_output.txt 
./a.out #run program
exit #end script