使用c++ 16进制转字符串
时间: 2023-09-09 09:10:08 浏览: 99
可以使用 sprintf 函数将十六进制数转换为字符串:
```c
#include <stdio.h>
int main() {
int hex = 0x48656c6c6f20576f726c64;
char str[17];
sprintf(str, "%llx", (long long) hex);
printf("%s\n", str);
return 0;
}
```
输出为:Hello World
相关问题
c++ 16进制转字符串
可以使用Python中的内置函数chr()和int(),将16进制转换为整数,然后再将整数转换为字符。下面是一个Python示例代码:
```
hex_str = "616263"
byte_str = bytes.fromhex(hex_str)
str = byte_str.decode('utf-8')
print(str)
```
输出结果为:
```
"abc"
```
C++16进制转字符串
可以使用C++中的stringstream和iomanip库来实现16进制转字符串的操作。下面是一个示例代码:
```C++
#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;
int main() {
string hex_str = "48656c6c6f20576f726c6421"; // 16进制字符串
stringstream ss;
for (int i = 0; i < hex_str.length(); i += 2) {
string byte_str = hex_str.substr(i, 2); // 取出每个字节的字符串表示
char byte = (char) strtol(byte_str.c_str(), NULL, 16); // 将字符串转为整数
ss << byte; // 写入到stringstream对象中
}
string str = ss.str(); // 从stringstream对象中取出转换后的字符串
cout << str << endl; // 输出字符串
return 0;
}
```
输出结果为:
```
Hello World!
```
阅读全文