关于十六进制转换为字符串的问题
如题,笔者需要将数组中的十六进制转换为字符串,用于统计和输出,现写了如下代码,现在的问题是 转换不成功,输出的并不是笔者想要的,请教各位高人,小弟需要在程序中作那些改动? 谢谢!
#include<stdio.h>
void main()
{
char temp[4]={0x00,0x12,0x31,0x44};
char tempbuf[4]={0};
int x,y=0;
for(x=0;x<4;x++)
{
tempbuf[y]=temp[x];
tempbuf[y]=(tempbuf[y]>>2)+'0';
tempbuf[y+1]=(temp[x]&0x0f)+'0';
y=y+2;
}
printf("%0x\n",temp);
printf("%s\n",tempbuf);
}
其中,源数组是temp 目标数组是 tempbuf,要求tempbuf 输出为字符串。
要求使用底层代码编写,不能用除 stdio.h 以外的头文件,非作业,仅是有些疑问
、
、
、
、
、
[ 本帖最后由 szweifj 于 2011-2-19 18:13 编辑 ]