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

How to save a C++ console output in a text file?

本文关键字:存在 文本 文件 保存 输出 C++ 控制台      更新时间:2023-10-16

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

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

您可以使用freopen将控制台输出重定向到文件,然后使用其他软件(如 WinMerge)比较输出结果。

例如:

freopen("output.txt", "w", stdout);

然后,无论您打印到控制台,例如使用printf时,都将输出到output.txt

你可以从C++程序运行脚本, 例如使用 popen(3) 或自定义 exec+fork 取决于你是否需要处理转义序列问题, 等等。

  • 标准::流

用于写入文件和

  • 标准::IF流

稍后再读。

不能直接将控制台输出写入文件。您可以做的是修改代码,以便每次写入控制台时,也可以通过 fopen() 将相同的输出写入FILE

例如,假设您要打印出Output,您可以将其存储在string/char[]中并将其写入文件。

所以

你必须给小费:

int main()
{
    std::string A = "Helo";
    freopen("output.txt", "A", stdout);
    return 0;
}