gpt4 book ai didi

c++ - cin.clear(ios_base::failbit) 与 cin.setstate(ios_base::failbit)

转载 作者:搜寻专家 更新时间:2023-10-31 00:53:21 32 4
gpt4 key购买 nike

对于我的一项作业,我被告知使用 cin.clear(ios_base::failbit) 来设置 failbit。我想知道,cin.clear(ios_base::failbit)cin.setstate(ios_base::failbit) 有什么区别?后者不是更清楚吗?我有点惊讶地看到 failbit 是如何用 clear() 设置的。为什么要以这种违反直觉的方式使用 clear()

最佳答案

I am a bit surprised to see how the fail bit is set with clear(). Why such a counter-intuitive way for using clear()?

好吧,让我们考虑一下。

 std::cin.setstate(ios_base::failbit);

这将设置失败位(如果尚未设置),但保留任何其他 stream error state对于 std::cin

 std::cin.clear(ios_base::failbit);

这将从 std::cin 中清除所有流错误状态,然后仅设置失败位。

关于c++ - cin.clear(ios_base::failbit) 与 cin.setstate(ios_base::failbit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49039752/

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