我正在尝试用 C++ 打开一个文本文件(它有内容)。每次我打开时,它最终都会完全删除文件的内容,这是我不想要的。
#include <fstream>
#include <iostream>
using namespace std;
int main() {
string filename;
cout << "Enter File name : ";
cin >> filename;
fstream file;
file.open(filename, fstream::out);
file.close();
return 0;
}
}
而不是
fstream::out
会丢弃文件中存在的所有内容,您应该使用 fstream::app
,它不会删除文件的内容并从其末尾继续写入。
来自cppreference: |恒定|说明| | -------- | ----------- | |应用程序 |每次写入之前寻找流的末尾| |二进制 |以二进制模式打开 | |在 |开放阅读| |出 |开放写作 | |截断|打开时丢弃流的内容 | |吃了|打开后立即寻找流末尾 | |不替换 (C++23) |以独占模式打开|