C++如何将string转换为int
时间: 2023-12-25 13:06:41 浏览: 65
C++中可以使用 `stoi()` 函数将字符串转换为整数。`stoi()` 函数接受一个字符串作为参数,并返回与该字符串等效的整数。如果字符串无法转换为整数,`stoi()` 函数会抛出 `std::invalid_argument` 异常或 `std::out_of_range` 异常。以下是一个示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "123";
int num = stoi(str);
cout << num << endl; // 输出 123
return 0;
}
```
在上面的代码中,我们将字符串"123"转换为整数,并将其存储在变量 `num` 中。然后我们输出 `num` 的值,结果为 123。如果想要处理异常,可以使用 `try-catch` 语句块来捕获异常:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "abc";
try {
int num = stoi(str);
cout << num << endl;
} catch (const std::invalid_argument& ia) {
cerr << "Invalid argument: " << ia.what() << endl;
} catch (const std::out_of_range& oor) {
cerr << "Out of range: " << oor.what() << endl;
}
return 0;
}
```
在上述代码中,我们尝试将字符串 "abc" 转换为整数。由于该字符串无法转换为整数,`stoi()` 函数会抛出 `std::invalid_argument` 异常,我们使用 `try-catch` 语句块来捕获该异常并输出错误信息。
阅读全文