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