假设我的十六进制字符串。hexStr = "aecf"
如何将十六进制字符串值分配给unsigned char myChar[]
如下。谢谢。
myChar[0] = 0xae;
myChar[1] = 0xcf;
您可以按如下方式转换数据:
char* hexstr="aecf";
int hexsize=strlen(hexstr);
unsigned char* myChar = new unsigned char[hexsize/2+1];
myChar[hexsize/2]='\0'
for (int i=0,intj=0;i<hexsize;i+=2,j++)
{
int tmp;
sscanf(hexstr+i, "%2x",&tmp));
myChar[j]=tmp; // warning, ignore it
}
这是为了防止您不使用静态字符串,否则使用其他答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)