c++判断输入是否为整数(2)
作者:野牛程序员:2023-07-01 07:50:40 C++阅读 2785
可以使用C++标准库中的函数 std::stoi
来将字符串转换为整数,并结合异常处理来判断输入是否为整数。这种方法更为简单,下面是一个示例:
#include <iostream> #include <string> bool isInteger(const std::string& input) { try { int value = std::stoi(input); return true; } catch (std::invalid_argument&) { return false; } catch (std::out_of_range&) { return false; } } int main() { std::string input; std::cout << "请输入一个整数: "; std::getline(std::cin, input); if (isInteger(input)) { std::cout << "输入是一个整数。\\n"; } else { std::cout << "输入不是一个整数。\\n"; } return 0; }
在上述示例中,我们定义了一个名为 isInteger
的函数,它尝试使用 std::stoi
函数将输入字符串转换为整数。如果转换成功,则返回 true
,否则通过捕获 std::invalid_argument
和 std::out_of_range
异常来判断转换是否失败,然后返回 false
。
在 main
函数中,我们获取用户输入的字符串,并调用 isInteger
函数来判断输入是否为整数。根据返回的结果,我们输出相应的消息。
请注意,使用 std::stoi
进行转换时,它默认会忽略字符串前导的空白字符,并且对于溢出的情况会抛出 std::out_of_range
异常。因此,此方法适用于一般的整数输入判断,但对于较大的整数或者需要处理整数范围溢出的情况,可能需要采用其他方法。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++判断输入是否为整数
- 下一篇:c++取整数部分