gpt4 book ai didi

c++ - ostream::write 或 ostream::operator<< 在什么情况下会失败?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:46 25 4
gpt4 key购买 nike

在我的 C++ 代码中,我不断地将不同的值写入文件。我的问题是,考虑到文件已成功打开这一事实,如果在任何情况下 write 或 << 会失败。我是否需要检查每次调用 write 或 << 以确保它已正确执行?

最佳答案

失败原因太多,无法一一列举。可能的是:

  • 分区终于满了
  • 用户超出了他的磁盘配额
  • 分区已被粗暴地卸载
  • 分区已损坏(文件系统错误)
  • 磁盘发生物理故障
  • ...

Do I need to check every single call of write or << to make sure it was carried out correctly?

如果您希望您的程序对故障具有弹性,那么肯定会。如果您不这样做,则仅表示您正在写入的数据可能会或可能不会被写入,这等于说您不关心它。

注意:您可以设置 std::ostream::exceptions 而不是在每次操作后检查流状态(这很快就会变得非常乏味)根据您的喜好,以便流在失败时抛出异常(这应该不是问题,因为根据定义,此类磁盘故障非常异常)。

关于c++ - ostream::write 或 ostream::operator<< 在什么情况下会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com