假设我的十六进制字符串。 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
}
这是为了防止您不使用静态字符串,否则使用其他答案。
关于c++ - 如何将十六进制字符串分配给 char[] 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6185279/