写入文件时如何删除最后一个逗号

时间:2020-06-04 12:50:25

标签: c++

我正在使用以下代码段将值写入.txt文件:

fstream f1;
f1.open("output.txt", ios::out);
{
    for (const auto& avg : clusAvg)
    {
        f1 << avg << ",";
    }
}
f1.close();

这将生成一个列表,看起来像:20,30,40,50,

我的问题是,如何消除列表中的最后一个逗号?

2 个答案:

答案 0 :(得分:2)

尝试这样做

fstream f1;
f1.open("output.txt", ios::out);
{
    bool first = true;
    for (const auto& avg : clusAvg)
    {
        if(!first) f1 << ", ";
        first = false;

        f1 << avg;
    }
}
f1.close();

答案 1 :(得分:0)

您可以为除最后一个元素以外的所有内容写一个逗号,然后写出最后一个元素:

if (! clusAvg.empty())
{
  for (auto i = 0u; i < clusAvg.size() - 1; ++i)
    f1 << clusAvg[i] << ", ";
  f1 << clusAvg.back();
}