c++字符串转int
时间: 2023-06-22 10:29:34 浏览: 92
在 C++ 中,可以使用 `std::stoi()` 函数将字符串转换为整数。例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string s = "123";
int i = std::stoi(s);
std::cout << i << std::endl; // 输出 123
return 0;
}
```
如果字符串无法转换为整数,则会引发 `std::invalid_argument` 或 `std::out_of_range` 异常。可以使用 try-catch 块来处理异常,例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string s = "abc";
try {
int i = std::stoi(s);
std::cout << i << std::endl;
} catch (std::invalid_argument const &ex) {
std::cerr << "无法将字符串转换为整数: " << ex.what() << std::endl;
} catch (std::out_of_range const &ex) {
std::cerr << "字符串转换后的整数超出范围: " << ex.what() << std::endl;
}
return 0;
}
```
注意,`std::stoi()` 函数只能将符合整数格式的字符串转换为整数。如果字符串中包含非数字字符,或者数字超出了整型的范围,就会引发异常。
阅读全文