原因是: 将out.open写在for循环之外,一旦程序复杂,输出数据量特别大时,数据将可能发生丢失
如:
int main()
{
ofstream out;
out.open("data.txt", ios::binary | ios::app | ios::in | ios::out);//输出为data.txt文件
for(int i;i<xx.size();++i)
{
out<<"内容"<<"\n";
}
out.close(); //关闭文件
}
改为:
int main()
{
ofstream out;
for(int i;i<xx.size();++i)
{
out.open("data.txt", ios::binary | ios::app | ios::in | ios::out);//输出为data.txt文件
out<<"内容"<<"\n";
out.close(); //关闭文件
}
}
参考博客:https://blog.csdn.net/qq_28901541/article/details/96116472