C++ STRING转为int
时间: 2024-10-18 20:22:36 浏览: 23
C++中将string类型转化为int类型
在C++中,将`std::string`类型的数字转换为`int`可以使用`stoi`函数,它位于头文件`<string>`中。这里有一个基本的例子:
```cpp
#include <string>
#include <iostream>
int stringToInt(std::string str) {
try {
return std::stoi(str);
} catch (const std::invalid_argument& e) {
std::cerr << "无法转换,因为" << str << "不是一个有效的整数." << std::endl;
return -1; // 或者抛出异常,取决于错误处理策略
} catch (const std::out_of_range& e) {
std::cerr << "数值超出范围,因为" << str << "太大了." << std::endl;
return INT_MAX; // 或者INT_MIN,视情况而定
}
}
int main() {
std::string numStr = "12345";
int num = stringToInt(numStr);
if (num != -1) {
std::cout << "字符串 " << numStr << " 转换为 int 后是: " << num << std::endl;
}
return 0;
}
```
这个函数首先尝试将`str`转换为`int`,如果输入是无效的字符串(比如包含非数字字符),就会抛出异常,并捕获这些异常提供适当的错误消息。
阅读全文