怎样将存储在数组里的16进制数 转化成相应的字符串呢?
例如 buff[3] = {0x00, 0x12, 0xfc}; 然后将buff里的值转化成字符串 “0012fc”.
程序代码:#include<stdio.h>
//h1 h2 均为16进制 输入格式eg:0x1234
//rets为返回串 由调用者分配内存
void hexcat(int h1,int h2,char *rets)
{
char tmp[16]={'\0'};
int i=0,j=0;
while(h2>0)
{
if((h2%16)>9) tmp[i]=h2%16+0x37; else tmp[i]=h2%16+0x30;
h2=h2/16;
i++;
}
while(h1>0)
{
if((h1%16)>9) tmp[i]=h1%16+0x37; else tmp[i]=h1%16+0x30;
h1=h1/16;
i++;
}
i--;
for(j=0;j<16;j++)
{
rets[j]=tmp[i];
i--;
if(i<0) break;
}
}
int main(void)
{
char s[16]={'\0'};
hexcat(0xa234,0xf678,s);
printf("%s",s);
return 0;
}一段小代码 不知道是否正确









