c语言 16进制char数组转string
时间: 2023-09-23 09:06:51 浏览: 188
可以使用sprintf函数将16进制char数组转换为字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char hex_arr[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64};
char str[22]; // 最大长度为 2 * sizeof(hex_arr) + 1
sprintf(str, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
hex_arr[0], hex_arr[1], hex_arr[2], hex_arr[3], hex_arr[4],
hex_arr[5], hex_arr[6], hex_arr[7], hex_arr[8], hex_arr[9], hex_arr[10]);
printf("转换后的字符串为: %s\n", str);
return 0;
}
```
输出:
```
转换后的字符串为: 48656c6c6f20576f726c64
```
sprintf函数的第一个参数是输出字符串的地址,第二个参数是格式化字符串,"%02x" 表示将一个字节的数据转换为2位16进制数字,不足2位用0补齐。在本例中,使用了11个"%02x",分别对应hex_arr数组中的11个元素,将它们转换为了16进制字符串。最后一个参数是要转换的数据。将这11个参数传递给sprintf函数,它将把转换后的字符串写入到str数组中。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)