从二进制转换为十六进制字符串
答
int main()
{
char *p = "12345";
// or with non string data. -> char p[5] = { 0x00, 0x56, 0x2C, 0x7a, 0x88 };
int i;
for(i = 0; i < 5; i++)
printf("%02x ", p[i]);
printf("\n");
return 0;
}
答
使用
for (i=0; i<sizeof(my_array);i++)
printf("%hhx", (unsigned char) my_array[i])
其中 'HH' 是指无符号字符,并且 'x' 表示十六进制,在 '%HHX' 表达。
来源:[使用标准C库函数] http://www.cplusplus.com/reference/cstdio/printf/
(http://en.cppreference.com/w/c/io/fprintf) – user694733
你尝试过什么?什么没有用?请告诉我们您已经完成了一些研究,至少。 –
要求“最好的方式” - 这意味着“对这个问题的回答几乎完全基于意见,而不是事实,参考或具体的专业知识。” – usr2564301