首页 > 输出的文件没有覆盖问题

输出的文件没有覆盖问题

ofstream fllh("lh.txt", ios::app);
if (!fllh)
{
cout<<"failed to open data file."<<endl;
exit (0);
}
else
{
fllh<<setiosflags(ios::fixed)<<setprecision(7)<<L<<endl;
}
fllh.close();
写了一个输出文件的代码,但是用的是app追加的方式,每次算完之后就会直接输出计算出来的比如1000行的数据,但是如果修改了代码内容,再运行的时候输出的新的1000行的内容会接着之前的文件后面输出,变成了2000行,除非得先删了之前输出的文件,不能直接覆盖,每次都删太麻烦了,修改了几次,要么最后只能输出一行了,要么就直接输得很乱,求助大神!


打上 C++ 标签啊喂!

你让程序去附加数据(ios::app),它当然会去附加数据了。你用 ios::trunc 就会覆盖文件啦。见教程:
Input/output with files - C++ Tutorials。

如果你需要多次往同一文件里写东西,但是每次运行时又要覆盖旧文件,那么:你应该只打开这个文件一次。不是每写一次就要打开一次文件的;打开的文件可以多次使用。这就像你不必每次进入房间都要「开门、进入、关门」这样,也可以第一次进去时开门,出来的时候不关门,下次进去时就不用再开门了。等事情都办完了,再最后关上门即可。加粗文字

【热门文章】
【热门文章】