IOS::App和iOS::ATE有什么区别?

2022-09-05 iostream c++

可能的重复项:
C++ Filehandling: Difference between ios:app and ios:ate?

这两种文件打开模式有什么不同?

ios:ate将Get/Put指针位置设置为文件末尾,以便读取/写入 从头开始,但它与ios::app有什么不同?ios::app再次以追加模式打开文件?

当我创建了一个ofstream并在`ios:app模式下打开它时,PUT流指针仍然指向开头,那么追加如何工作?

另外,我了解ifstreamofstreamfstream是管理基础流缓冲区的高级类。

这是否意味着即使在ios:app模式下我也可以从文件中读取数据?


解决方案

app来自‘Append’-所有输出都将添加(附加)到文件的末尾。换句话说,您不能在文件中的其他位置写入,只能写入结尾。

ate来自‘At End’-它在您打开文件时设置文件末尾的流位置,但您可以自由地四处移动(查找),并随心所欲地写入。

相关文章