有没有办法将ios
对象的异常掩码重置为"默认"值?(它是由标准定义的吗?我原本对ifstream
感兴趣,我得ios
追踪ifstream
的遗产。
我在这里找到了一个解决方法,但这取决于将对象的掩码的原始状态存储在变量中,这可能不可用。
exceptions
成员函数继承自ios
。这是一个std::ios_base::iostate
,有 3 个可能的位要设置:badbit
、failbit
和 eofbit
。"默认状态"为 std::ios_base::goodbit
(0(。所以只需my_ifstream.exceptions(0)
重置它(my_ifstream.exceptions(std::ios::goodbit)
也可以工作并且更清晰(。