作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有没有办法在 C++ 中使用 std::stoi()
检查字符串输入是否可转换为 int? (例如,我可以检查是否会抛出 invalid_argument 异常吗?)
一个不起作用的例子,但希望能解释我正在尝试做的事情:
string response;
cout << prompt;
if (std::stoi(response) throws invalid_argument) { //Something like this
return std::stoi(response);
}
else {
badInput = true;
cout << "Invalid input. Please try again!\n";
}
研究:
我已经找到了几种检查字符串是否为 int 的方法,但我希望有一种方法可以使用 std::stoi()
来实现,但我一直找不到还没有。
最佳答案
你应该在抛出异常时捕获它,而不是试图预先确定它是否会被抛出。
string response;
cin >> response;
try {
return std::stoi(response);
}
catch (...) {
badInput = true;
cout << "Invalid input. Please try again!\n";
}
关于c++ - 如何在 C++ 中使用 std::stoi() 验证 int 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40031543/
我是一名优秀的程序员,十分优秀!