项目中有这样的需求:
1.给一个一定大小的空文件改写内容;
2.不能改变该空文件的大小。

一开始是用ofstream做的,但是每次一打开文件,原来的空文件的大小就改变了。之后用app方式打开,但是每次的新数据都是追加到文件尾部,seekp无论如何不能到达实际文件的首部,这样文件大小就变了,不符合需求2。

后来发现用fstream,采用in | out的方式来打开,终于可以安全地改写文件了。