打开现有文本文件会完全删除其内容

问题描述 投票:0回答:1

我正在尝试用 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;
}

}

c++ file-handling
1个回答
0
投票

而不是

fstream::out
会丢弃文件中存在的所有内容,您应该使用
fstream::app
,它不会删除文件的内容并从其末尾继续写入。


来自cppreference: |恒定|说明| | -------- | ----------- | |应用程序 |每次写入之前寻找流的末尾| |二进制 |以二进制模式打开 | |在 |开放阅读| |出 |开放写作 | |截断|打开时丢弃流的内容 | |吃了|打开后立即寻找流末尾 | |不替换 (C++23) |以独占模式打开|

© www.soinside.com 2019 - 2024. All rights reserved.