我正在尝试创建一个利用命令行显示数据的脚本,我希望能够将输出到命令行的所有内容记录到一个单独的文件中。
我正在使用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;
}
答案 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