首页 > 解决方案 > 如何测试 int 的文件输入?

问题描述

我有一个程序可以从文件中读取整数并将它们分配给某些变量。我在下面有这段代码来错误检查来自文件的信息。如果信息不是正整数,则 if 语句应该捕获它并重置变量和 io 流。

int quantity;
input >> quantity;
if(input.fail() || (quantity < 0)){
   quantity = 0; 
   input.clear();
   input.ignore(200, ' ');
}

但是,如果信息是双精度的,则它不会输入此代码块,并且我的程序的其余部分将停止正常工作。当我的文件中出现双精度时,如何让我的程序输入 if 语句?

标签: c++c++17

解决方案


推荐阅读