2 xiaodianer1111 xiaodianer1111 于 2015.07.28 10:20 提问

输出的文件没有覆盖问题

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行,除非得先删了之前输出的文件,不能直接覆盖,每次都删太麻烦了,修改了几次,用了ios::trunc之后,最后因为算出来一行覆盖一次,只能输出一行了,要么就直接输得很乱,求助大神!

2个回答

CSDNXIAOD
CSDNXIAOD   2015.07.28 10:31

log4j日志文件:解决只有控制台输出没有文件输出的问题!
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

oyljerry
oyljerry   Ds   Rxr 2015.07.28 12:41

如果你想清空之前的内容,就用 ios::trunc

 ofstream fllh("lh.txt", ios::trunc | ios::out);
oyljerry
oyljerry 回复JYCM: trunc就是清空,然后重新写入内容,直到你关闭文件。
2 年多之前 回复
xiaodianer1111
xiaodianer1111 我用的迭代算法,循环一次输出一个数,然后存储在txt中
2 年多之前 回复
xiaodianer1111
xiaodianer1111 我试过,但是我一开始比如说是说出了1000行数据,改动后想再运行一次,但是用了ios::trunc之后却只会输出一行了,这也是我困惑的地方。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片