"eof"可以设置为流吗?

Can "eof" be set in ofstream?

本文关键字:设置 eof      更新时间:2023-10-16

我找不到任何关于这方面的信息。是否以及如果是这样,在什么情况下,可以设置 eofbit(意味着 ofstream_instance.eof(( 为真(?

我对一个独立的 ofstream 更感兴趣,它与某个 fstream 中的 ifstream 无关,这样 ifstream 就不能设置"共享"eofbit(如果可能的话(。

如果我只是写入文件并且磁盘上没有空间或操作系统没有为写入提供另一个空间,那么我希望只设置故障位或坏位,但是在写入文件时到达文件末尾对我来说没有意义。但是,我找不到关于此的讨论。

No.eof()返回eofbit,这对于没有关联输入流的输出流没有实际意义。

eofbit指示输入操作到达输入序列的末尾

[ios.types]/3.1, 表 107

此处列举了设置eofbit的操作,它们都仅作用于输入流。

我们可以想象一些奇怪的特定于实现的场景,其中 EOF(而不是其他一些错误条件(在写入文件时会被击中 - 也许我们通过一些操作系统函数写入一个固定大小的文件缓冲区 - 但据我所知,标准库抽象不处理这种情况, 而且我从未见过或听说过这样的API。