c++ - 手动设置 cin.fail()

标签 c++ cin

如果输入的整数大于固定数,我想引发 cin.fail() 错误?我怎样才能做到这一点?

int a;
cin >> a;
if (a > 10)
   //raise cin.fail()

最佳答案

您可以使用 setstate 设置failbit :

Example

#include <iostream>
#include <sstream>

int main()
{
    int a;

    std::cin >> a;

    if(a > 10)   
        std::cin.setstate(std::ios_base::failbit);

    if (std::cin.fail()) {
        std::cout << "fails\n";
    }
}

关于c++ - 手动设置 cin.fail(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61116652/

相关文章:

c++ back_insert 使用错误,

c++ - 将指针从基类型转换为子类型

c++ - 在一行上流式传输多个变量?

c++ - 如何使 cin 只接受一位数字 C++

c++ - 如何提取字符串中任意位置的下一个整数?

c++ - 将 RGB 图像保存为 PPM 格式

c++ - 根据 API 中调用的其他函数更改函数的行为

c++ - 从 cpp 文件内联函数时出现链接器错误

时间:2018-02-08 标签:c++cin>>byte strangebehavior

c++ - 重载运算符>>