1

例如,如果我需要在文件末尾添加一个句子。我必须先打开文件(例如“a.txt”),通过

ofstream outfile.open("a.txt");

但是每当我这样做时,我都会覆盖同一目录中现有的“a.txt”。是否可以像先读取然后写入一样编辑文件?

非常感谢你。

4

2 回答 2

2

您想以“附加”模式打开文件。传递ios::app给 open 方法会导致文件以附加模式打开。

f.open("file.txt", ios::app);

有关其他标志,请参见http://www.cplusplus.com/reference/iostream/ios_base/openmode/

于 2012-06-14T00:13:10.367 回答
1

试试这个:

std::ofstream outfile( "a.txt", std::ios_base::app | std::ios_base::ate );

各种参考

http://www.cplusplus.com/reference/iostream/ofstream/ofstream/

http://www.cplusplus.com/reference/iostream/ofstream/open/

http://msdn.microsoft.com/en-us/library/aa277521(v=vs.60).aspx

http://msdn.microsoft.com/en-us/library/aa266859(v=vs.60).aspx

于 2012-06-14T00:07:12.657 回答