C语言将string转hex
时间: 2023-09-06 18:09:17 浏览: 81
struct-to-hexstring-converter:用C ++工具将结构转换为十六进制格式的字符串并返回
在C语言中,可以使用`sscanf()`和`sprintf()`函数将字符串转换为十六进制数。
将字符串转换为十六进制数:
```c
char str[] = "A1B2C3D4";
unsigned int hex;
sscanf(str, "%x", &hex); // 将字符串转换为十六进制数
printf("%u\n", hex); // 输出十六进制数
```
将十六进制数转换为字符串:
```c
unsigned int hex = 0xA1B2C3D4;
char str[9];
sprintf(str, "%X", hex); // 将十六进制数转换为字符串
printf("%s\n", str); // 输出字符串
```
注意,`sscanf()`和`sprintf()`函数的格式控制符`%x`和`%X`都可以用来表示十六进制数,区别在于前者输出小写字母,后者输出大写字母。同时,在使用`sprintf()`函数将十六进制数转换为字符串时,需要指定输出字符串的长度,以避免缓冲区溢出。
阅读全文