c语言编写一个函数把16进制转换字符串
时间: 2024-01-20 18:03:45 浏览: 103
C 16进制数据转字符串
下面是一个将16进制数转换为字符串的C语言函数:
```c
void hex_to_str(char *str, uint8_t *hex, size_t hex_len)
{
int i;
for (i = 0; i < hex_len; i++) {
sprintf(str + (i * 2), "%02x", hex[i]);
}
str[i * 2] = '\0';
}
```
使用示例:
```c
#include <stdio.h>
#include <stdint.h>
void hex_to_str(char *str, uint8_t *hex, size_t hex_len);
int main()
{
uint8_t hex[] = {0x12, 0x34, 0xab, 0xcd};
char str[9];
hex_to_str(str, hex, 4);
printf("%s\n", str);
return 0;
}
```
输出结果为:1234abcd
阅读全文