C++:ios::out 是用新文件替换文件还是破坏文件内容?

标签 c++ fstream ofstream

假设我有 out.txt 包含文本 Hello World

如果我这样做

fstream(“out.txt”,ios::out)

然后,如果我尝试打开该文件,它将是空的。

我的问题是,当我打开文件流到带有 ios::out 标志的文件时

文件是空的是的。

但是它是否进入文件内部并删除了所有内容

还是它创建了一个新的空文件并覆盖了旧文件?

最佳答案

我认为这取决于操作系统。

有些保留每个文件的版本。在这种情况下,您可能每次都会得到一个新的。

关于C++:ios::out 是用新文件替换文件还是破坏文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252430/

相关文章:

c++ - 按键值搜索无序二叉树

C++ ofstream - 只有 1 个字符串被写入文件,之前的字符串被覆盖,为什么?

c++ - 如何查看文件拷贝写入是否成功

c++ - 调试断言失败!表达式 : is_block_type_valid(header->_block_use). 对象不会初始化和推送错误

c++ - 如果字符串不等于 const char 则跳出 while 循环

c++ - ifstream is.open() 表现得好像它没有在读取文件

c++ - 为 C++ STL 容器重载 << 运算符

c++ - 为什么将 'ifstream' 和 'ofstream' 添加到 "std"中,而 'fstream' 可以同时满足这两个目的?

c++ - 指示 double 值尚未初始化的最佳方法是什么?

c++ - 使用字符串将文件名传递给 fstream