例如,如果我需要在文件末尾添加一个句子。我必须先打开文件(例如“a.txt”),通过
ofstream outfile.open("a.txt");
但是每当我这样做时,我都会覆盖同一目录中现有的“a.txt”。是否可以像先读取然后写入一样编辑文件?
非常感谢你。
例如,如果我需要在文件末尾添加一个句子。我必须先打开文件(例如“a.txt”),通过
ofstream outfile.open("a.txt");
但是每当我这样做时,我都会覆盖同一目录中现有的“a.txt”。是否可以像先读取然后写入一样编辑文件?
非常感谢你。
您想以“附加”模式打开文件。传递ios::app
给 open 方法会导致文件以附加模式打开。
f.open("file.txt", ios::app);
有关其他标志,请参见http://www.cplusplus.com/reference/iostream/ios_base/openmode/
试试这个:
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