c++ string转为 long
时间: 2023-11-25 17:08:35 浏览: 110
可以使用 C 标准库中的 `atol()` 函数将字符串转换为 long 类型。
函数原型如下:
```c
long atol(const char *str);
```
其中,参数 `str` 为要转换的字符串,返回值为转换后的 long 类型。
示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "123456789";
long num = atol(str);
printf("%ld\n", num); // 输出:123456789
return 0;
}
```
相关问题
c++将string转为
在 C++ 中,可以使用 std::stoi 函数将字符串转换为 int 类型,例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "12345";
int num = std::stoi(str);
std::cout << num << std::endl;
return 0;
}
```
输出:
```
12345
```
std::stol 和 std::stod 函数可以分别将字符串转换为 long 和 double 类型。
C++的long long 类型转为16进制字符串 不使用stringstream
可以使用sprintf()函数,和string的拼接来实现将long long类型转为16进制字符串,代码如下:
```c++
#include <iostream>
#include <cstdio>
#include <string>
int main() {
long long num = 123456789;
char hex_str[20];
sprintf(hex_str, "%llx", num);
std::string hex_string("0x");
hex_string += hex_str;
std::cout << hex_string << std::endl;
return 0;
}
```
输出结果为:`0x75bcd15`。在代码中,使用sprintf()函数将long long类型的数值转换为16进制字符串,其中`%llx`表示以16进制输出long long类型的数值。然后将16进制字符串与前缀`0x`拼接成完整的16进制字符串。
阅读全文