【问题标题】:How can you check if something read in from a file is a valid integer?如何检查从文件中读取的内容是否为有效整数?
【发布时间】:2013-03-24 23:20:51
【问题描述】:

我正在尝试类似的东西:

int integer;

cin >> integer;

if(!integer) {//do something}

但如果整数 = 0,显然这是一个问题。

是否有更有效的方法来检查某事物是否为整数?

【问题讨论】:

  • 如果你直接得到一个整数,如果这就是你得到的,它已经是一个整数并且它是有效的。如果你得到一个文本字符串,它可能包含也可能不包含整数的文本表示,那么你可以验证它,标准库中有一些函数可以用于此目的。

标签: c++


【解决方案1】:

basic_ios派生对象中使用failoperator bool

if(cin.fail()) {//do something}

【讨论】:

    【解决方案2】:

    使用std::stoi()。如果字符串不是整数值,则会出现异常。

    【讨论】:

    【解决方案3】:

    请查看fail bit - 它会告诉你有什么不对劲

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多