Avatar ·

如何在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";