Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在重载输入流运算符以与 Time 类一起使用,并且如果输入与我的预期时间格式 (hh:mm) 不匹配,我想手动设置输入流的故障位。这可以做到吗?如何?
谢谢!
是的,您可以使用 进行设置ios::setstate,如下所示:
ios::setstate
#include <iostream> #include <ios> int main() { std::cout << "Hi\n"; std::cout.setstate(std::ios::failbit); std::cout << "Fail!\n"; }
cout由于处于失败状态,因此不会产生第二个输出。
cout
(一个例外对我来说似乎更干净,但是 YMMV)