C ++可以正确打印到终端,但不能打印到文件

问题描述 投票:0回答:1

我在这里的第一篇文章。初学者C ++编码器,似乎无法弄清楚该错误。我正在尝试在单独的行上将256个数字打印到输出文件。这似乎在大多数时间都有效。但是,当所有256个数字均为0时,它将在同一行上打印256个ਰ字符。如果我在同一行上打印2 0,则效果很好,而如果删除下一行,则效果也很好。我尝试冲洗ostream,但这没有帮助。我认为这可能与unsigned int有关,但是强制转换和to_string()也无济于事。该代码可以完美地打印到终端,而不是文件。任何帮助将不胜感激!

vector<unsigned int> freqs(256);

ofstream outfile(outFileName);

for (int i = 0; i < 256; i++) {
        outfile << freqs[i];
        outfile << '\n';
}
c++ io ostream
1个回答
0
投票

尝试使用endl运算符。

#include <fstream>

using namespace std;

int main()
{

    vector<unsigned int> freqs(256);

    ofstream fileToWriteTo;
    fileToWriteTo.open("file.txt");

    for (int i = 0; i < 256; i++)
    {
        fileToWriteTo << freqs.at(i) << endl;
    }

    fileToWriteTo.close();

}
© www.soinside.com 2019 - 2024. All rights reserved.