c++输出流文件,打开时如果文件存在自动清除,怎么解决

ofstream outfile("data.txt",ios::binary|ios::app);
if(!outfile) {
cerr<<"打开文件错误"<<endl;
exit(1);
}//输出流文件

就是这里,每次执行后保存的数据,下次执行的时候这个文件是存在了,不就又清空了吗?

你的文件是以追加的方式打开的,下次执行的时候保存的数据会保存在上次数据的后面,不会清空原有的内容的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-26
ios::app
这句话就保证了,文件以追加形式打开。
IOS:APP 的意思就是 input/output stream : append追问

假如我读入的是二进制文件,可以把它写入另外一个文件,打开不是二进制,可以查阅的那种吗

追答

就我经验来说,不行。二进制属于字节流,这样的文件也只能二进制打开。我理解你所说的能直接查阅的,肯定是说文本文件是吗?那属于文本流或者字符流。
两个不一样。
另外,慎重起见,也建议,用什么方法读文件,就怎么写文件。

本回答被网友采纳
相似回答