我有两个不同脚本的两个控制台输出。我想将这些输出相互比较,以便在两个输出中找到保守字母及其在输出中的位置。为此,我想要做的是,我想将两个控制台输出保存在两个不同的文本文件中,并检查这两个文件是否有保留字母及其相对位置。
我是否会走正确的道路,或者他们可以成为比较输出的另一种选择。如果是,则提供在文本文件中保存控制台输出的方法。如果否则提供一些其他准确的方法来比较控制台输出。
答案 0 :(得分:3)
您可以使用freopen
将控制台输出重定向到文件,然后使用其他软件(如WinMerge
)来比较输出结果。
例如:
freopen("output.txt", "w", stdout);
然后打印到控制台的任何内容,例如使用printf
时,都会输出到output.txt
。
答案 1 :(得分:2)
您可以从C ++程序运行脚本,例如使用 popen(3)或自定义exec + fork,具体取决于您是否需要处理转义序列问题等。
用于写入文件和
稍后阅读。
答案 2 :(得分:1)
您不能直接将控制台输出写入文件。您可以做的是修改您的代码,以便每次写入控制台时,您也将相同的输出写入{{1} }通过FILE
。
比如你要打印fopen()
,你可以将它存储在Output
中并将其写入文件。
答案 3 :(得分:0)
所以你必须付小费:
int main()
{
std::string A = "Helo";
freopen("output.txt", "A", stdout);
return 0;
}