文件处理中 ios::app 和 ios::noreplace 模式有什么区别?

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

我正在研究 C++ 中的文件处理,但我无法看出 ios::app 和 ios::noreplace 模式之间的区别。请帮忙。

注意:ios::noreplace 在某些旧版本中是非标准模式,但我很想知道它!

c++ file fstream file-handling
1个回答
2
投票

IIRC

ios::noreplace
是某些旧版本的 MS 运行时库的非标准部分。它被添加到 C++23,所以一开始就有一个区别。

另一个区别是

ios::noreplace
根本不附加:如果文件存在(因此名称不可替换),它就会失败,并且仅当文件一开始不存在时才打开它。
ios::app
打开文件(如果存在)或创建一个新文件,并在每次写入之前查找末尾。

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