在C ++中,我需要写入现有文件并保留以前的内容。
这就是我所做的:
std::ofstream logging;
logging.open(FILENAME);
logging << "HELLO\n";
logging.close();
然后我的前一个文字被覆盖(不见了)。我做错了什么?
提前致谢。
答案 0 :(得分:8)
logging.open(FILENAME, std::ios_base::app);
答案 1 :(得分:3)
您必须以追加模式打开文件:
logging.open(FILENAME, std::ios::app);
答案 2 :(得分:1)
默认情况下,文件的“opening mode”将被覆盖。尝试以附加模式打开文件
open
的第二个参数是枚举位标记。您应该检查的两个选项是:
吃 - 打开后寻找文件结尾
logging.open(FILENAME,std :: ios :: app | std :: ate);
答案 3 :(得分:0)
myFile.open( "file.txt", ios::out | ios::app );