如何在C++中将std::string转换为int?
大家好!我是C++新手,正在编写一个简单的程序,从文件中读取数字并执行算术运算。我有一个包含数值的std::string,例如"123"。我需要将这个字符串转换为int,以便将其与另一个变量相加。
问题是我不能直接写int number = myString;——编译器会报错。我尝试过使用stoi(),但不确定这是否是正确的方法,特别是当字符串中可能有多余字符(例如空格或字母)时。我还听说过atoi(),但据说它已经过时且不安全。
请告诉我如何在现代C++(最好是C++11及更高版本)中正确且安全地将std::string转换为int?需要一个包含错误处理的示例,这样如果字符串包含无效数据,程序就不会崩溃。提前谢谢!
这是我当前无法工作的代码:
```cpp
#include
#include
int main() {
std::string s = "456";