如标题所说,以fstream::out
模式打开fstream
会清除其当前内容吗?
如果不是,使用 fstream
库删除 .txt 文件的最佳方法是什么。
C++ fstream
库中 EOF
的等价物是什么?
最佳答案
当 std::basic_filebuf
打开一个文件时,它的行为就好像它调用了相关的 C 函数(它是否真的这样做取决于实现)。
[filebuf.members] 中的表格概述了当某些标志被传递时会发生什么,如果你只传递 std::ios_base::out
那么它就像文件是用 stdio 打开的一样string "w"
,如果您的文件已经存在,它将删除它。
如果没有传递任何标志,fstream
的默认设置是调用 basic_filebuf::open
和 std::ios_base::in | std::ios_base::out
,就像使用了 "r+"
一样,它又将文件位置定位在文件的开头,但如果它保留内容不变已经存在。
供引用:
关于c++ - 以 fstream::out 模式打开 fstream 是否会删除其当前内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24924282/