在C++中,我需要写入一个现有的文件并保留以前的内容。C++:写入现有文件?
这是我做了什么:
std::ofstream logging;
logging.open(FILENAME);
logging << "HELLO\n";
logging.close();
但后来我以前的文本被覆盖(消失)。我做错了什么?
在此先感谢。
在C++中,我需要写入一个现有的文件并保留以前的内容。C++:写入现有文件?
这是我做了什么:
std::ofstream logging;
logging.open(FILENAME);
logging << "HELLO\n";
logging.close();
但后来我以前的文本被覆盖(消失)。我做错了什么?
在此先感谢。
logging.open(FILENAME, std::ios_base::app);
默认情况下,覆盖文件的“opening mode”。尝试以追加模式打开文件
open
的第二个参数是enum位标志。你应该看看这两个选项是:
前吃 - 寻求开放后
logging.open(文件名,标准的文件结尾: :IOS ::应用程序|的std ::吃);
你必须打开追加模式的文件:
logging.open(FILENAME, std::ios::app);
你试试? 类似的东西
myFile.open("file.txt", ios::out | ios::app);
logging.open(FILENAME,std :: ios :: append | std :: ate);也总是会增加到结束 – Sudantha 2010-11-15 16:34:17