gpt4 book ai didi

c++ - 如何在 C++ 中使用 std::stoi() 验证 int 输入?

转载 作者:搜寻专家 更新时间:2023-10-31 02:14:20 26 4
gpt4 key购买 nike

有没有办法在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com