错误的输出到文件,c++

Wrong output to a file, C++

本文关键字:c++ 文件 输出 错误      更新时间:2023-10-16

我正在尝试输出一些数字到文件。方法如下:

std::ofstream out;
out.open("%path%/perm.out");
if (Pos == N)
{
    for (i = 0; i < N; i++)
        out << a[i] << " ";
    out << "n";
    return;
}

我希望结果看起来像这样,因为我正在尝试计算排列:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

然而,我得到的是:

3 2 1 

但是,如果我尝试使用std::cout将其输出到控制台,我将得到预期的结果。为什么会发生这种情况,我该如何解决这个问题?

您需要以追加模式打开文件。

std::ofstream myfile;
myfile.open ("example.txt", ios::app); 

由于问题不清楚,我希望您显示的代码是在函数内部。
问题可能是您一次又一次重写同一个文件,所以最后您只有最后一行。

3 2 1

请写更多的代码,以便任何人都能理解问题是什么