如何在文本文件中保存C ++控制台输出?

时间:2014-04-07 05:08:54

标签: c++ text console

我有两个不同脚本的两个控制台输出。我想将这些输出相互比较,以便在两个输出中找到保守字母及其在输出中的位置。为此,我想要做的是,我想将两个控制台输出保存在两个不同的文本文件中,并检查这两个文件是否有保留字母及其相对位置。

我是否会走正确的道路,或者他们可以成为比较输出的另一种选择。如果是,则提供在文本文件中保存控制台输出的方法。如果否则提供一些其他准确的方法来比较控制台输出。

4 个答案:

答案 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;
}