c++判断输入是否为整数(2)
作者:野牛程序员:2023-07-01 07:50:40 C++阅读 3066
可以使用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++取整数部分
