gpt4 book ai didi

c++ - C 中的 char* 字符串到十六进制数组

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:09 24 4
gpt4 key购买 nike

我有 char * para.mac, string c8934641d0b7 存储在里面。

我想把它转换成十六进制数组int m[6],制作

m[0]=0xc8;
m[1]=0x93;
...
m[5]=0xb7;

我试着用:

int i;
int m[6];
sscanf(para.mac, "%x%x%x%x%x%x", &m[0], &m[1], &m[2], &m[3], &m[4], &m[5]);

for(i=0;i<6;i++)
printf("%i \r\n",m[i]);

但它似乎不起作用。

而且我不知道为什么结果对我来说是这样的:

1178718391  
0
0
134448233
8
134272063

我觉得应该是

200(0xc8)
147(0x93)
70(0x46)
65(0x41)
208(0xd0)
183(0xb7)

那么问题是什么?

最佳答案

如果我没记错的话,你走对了。

考虑尝试:"%2x%2x%2x%2x%2x%2x",这意味着每个十六进制数字最多只占用 2 个字符。

关于c++ - C 中的 char* 字符串到十六进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29136615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com