C++设置"blank"或重置 ifstrean (ios) 的异常掩码



有没有办法将ios对象的异常掩码重置为"默认"值?(它是由标准定义的吗?我原本对ifstream感兴趣,我得ios追踪ifstream的遗产。

我在这里找到了一个解决方法,但这取决于将对象的掩码的原始状态存储在变量中,这可能不可用。

exceptions成员函数继承自ios 。这是一个std::ios_base::iostate,有 3 个可能的位要设置:badbitfailbiteofbit 。"默认状态"为 std::ios_base::goodbit (0(。所以只需my_ifstream.exceptions(0)重置它(my_ifstream.exceptions(std::ios::goodbit)也可以工作并且更清晰(。

最新更新