C++中string转long
时间: 2023-05-19 10:04:46 浏览: 78
可以使用标准库函数 strtol() 将字符串转换为 long 类型。函数原型如下:
long int strtol(const char *str, char **endptr, int base);
其中,str 表示要转换的字符串,endptr 是一个指向字符指针的指针,用于存储转换后未被转换的部分,base 表示要转换的进制数。例如,将十进制字符串 "123" 转换为 long 类型可以使用以下代码:
char *str = "123";
char *endptr;
long int num = strtol(str, &endptr, 10);
在上述代码中,num 将被赋值为 123,endptr 将被赋值为指向字符串末尾的指针。如果要将十六进制字符串 "0x1a" 转换为 long 类型,可以将 base 参数设置为 16,如下所示:
char *str = "0x1a";
char *endptr;
long int num = strtol(str, &endptr, 16);
在上述代码中,num 将被赋值为 26,endptr 将被赋值为指向字符串末尾的指针。
相关问题
c++ string 转longlong
可以使用 `std::stoll` 函数将字符串转换为 `long long` 类型。示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "1234567890";
long long num = std::stoll(str);
std::cout << num << std::endl; // 输出 1234567890
return 0;
}
```
注意,如果字符串中包含非数字字符,或者超出了 `long long` 类型的范围,转换会抛出 `std::invalid_argument` 或 `std::out_of_range` 异常。因此,在使用 `std::stoll` 函数时应当做好异常处理。
C++string转long long代码
可以使用 `std::stoll` 函数将字符串转换为 `long long` 类型。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "1234567890";
long long num = std::stoll(str);
std::cout << num << std::endl;
return 0;
}
```
输出为:
```
1234567890
```