C语言字符数组如何转成16进制

2024-11-07 00:01:32
推荐回答(2个)
回答1:

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:

char *pKey = "AA1F1905A8F3E4D3C3C536FE615C93BC";

for (int i = 0; i < strlen(pKey) - 1; i += 2) {

printf("0x%c%c\n", pKey[i], pKey[i+1]);

}

3、编译器运行test.cpp文件,此时成功将字符串数组转为了16进制的形式进行了输出。

回答2:

#include 
#include 
#include 
int main(void) 
{
char *pKey = "AA1F1905A8F3E4D3C3C536FE615C93BC";
int n=strlen(pKey)/2,i;
char *Key=(char *)malloc(sizeof(char)*n);
for(i=0;i {
sscanf(pKey+2*i,"%2X",Key+i);
}
for(i=0;i {
printf("%#02hhX ",Key[i]);
}
return 0;
}