C++中如何把一个由数字组成的字符串转换为int
时间: 2024-09-17 11:02:51 浏览: 30
在C++中,将由数字组成的字符串转换为整数(int类型)通常通过`stoi`(string to integer)函数实现。这是 `<string>` 库的一部分,用于安全地进行字符串到整数类型的转换。如果字符串无法表示为整数,该函数会抛出异常。
以下是一个基本的示例:
```cpp
#include <iostream>
#include <string>
int stringToInt(const std::string &str) {
try {
return std::stoi(str);
} catch (const std::invalid_argument& ia) {
std::cerr << "Invalid argument: the input string is not a valid integer.\n";
return -1; // 或者抛出异常以处理错误情况
} catch (const std::out_of_range& or_e) {
std::cerr << "Out of range: the value is too large/small for an int.\n";
return -1; // 同样处理异常
}
}
int main() {
std::string str_num = "12345";
int num = stringToInt(str_num);
if (num != -1) {
std::cout << "String " << str_num << " converted to int is: " << num << std::endl;
}
return 0;
}
```
在这个例子中,如果输入字符串不是有效的整数,程序会捕获并处理异常,防止程序崩溃。
阅读全文