我几乎找不到任何信息。是否可以,是否可以,在什么情况下可以设置eofbit(ofstream_instance.eof()为true的意思)?
我对独立的独立流更感兴趣,该独立流不与某些fstream中的ifstream关联,因此ifstream不能设置“共享” eofbit(如果可能的话)。
如果我只是简单地写入文件,而磁盘上没有空间,或者操作系统没有为写入提供其他空间,那么我希望只设置failbit或badbit,但是在到达文件末尾的同时写信对我来说没有意义。但是我没有找到关于此的讨论。
答案 0 :(得分:4)
否。 eof()
返回eofbit
,对于没有关联输入流的输出流没有实际意义。
eofbit
表示输入操作已到达输入序列的末尾[ios.types] / 3.1,表107
设置eofbit
的动作被枚举here,它们都仅对输入流起作用。
我们可以想象一些特定于实现的怪异场景,其中在写入文件时会遇到EOF(与某些其他错误情况相对)-也许我们正在通过某些OS函数写入固定大小的文件缓冲区-但据我所知,标准库抽象无法处理这种情况,而且我从来没有听说过这样的API。