c++中我需要用户输入一个整数,当用户输入的是小数,英文或者其他字符时...

发布网友 发布时间:2小时前

我来回答

1个回答

热心网友 时间:2小时前

看代码
int val;
std::cin >> val;
这时,我并不知道,用户输入的是否是int类型。怎么办呢..
通过调用cin对象的其他函数。
当用户输入的内容,不能完成流操作时,cin会产生一个逻辑错误。此时,std::cin.fail() 会返回true。(如果没有逻辑错误,std::cin.fail() 返回false)

代码
int val;
std::cin >> val;
if (std::cin.fail()) {
std::cout << "无效的输入" << std::endl;

}

如果需要用户再次输入内容,就需要额外的代码恢复cin

完整代码
int val;
std::cin >> val;
while (std::cin.fail()) {
std::cout << "无效的输入,请重试" << std::endl;

std::cin.clear();

std::cin.ignore(0xFFFF);

std::cin >> val;

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com