c++字符串转长整形
时间: 2024-09-23 19:15:46 浏览: 42
C++ 整型与字符串的互转方式
在C++中,将字符串转换成长整型(long int 或 long long int),可以使用标准库提供的`std::stoi`函数。这个函数接受一个`const char*`类型的字符串作为输入,并尝试将其解析为整数。如果成功,返回对应的整数值;如果字符串无法表示为整数,或者包含非法字符,会抛出异常。
例如:
```cpp
#include <string>
#include <iostream>
int main() {
std::string str = "12345";
long long int num = std::stoll(str);
std::cout << "String converted to long long: " << num << std::endl;
// 检查是否成功转换
try {
if (num == std::stol(str)) {
std::cout << "Conversion successful.\n";
} else {
std::cout << "Conversion failed or resulted in an overflow.\n";
}
} catch (const std::invalid_argument& e) {
std::cout << "Invalid argument: " << e.what() << "\n";
}
return 0;
}
```
阅读全文