输出16进打造为字符串
输出16进制作为字符串void main(int argc,char**argv){int nchar buf[3]FILE *sfint isffopen(hrand
输出16进制作为字符串
void main(int argc,char**argv)
{
int n;
char buf[3];
FILE *sf;
int i;
sf=fopen("hrandsh.dump","rb");
fseek(sf,5,0);
n=fread(buf,sizeof(char),2,sf);
for(i=0;i<n;i++)
{
printf("%02x",buf[i]);
}
fclose(sf);
printf("\n%s\n",buf);
}
输出结果如下:
504f --16进制
PO --字符
我是想把buf以16进制读出来作为一个字符串来和另外一个字符串作比较,比如:
if (strcmp(buf的16进制,"504f")==0)
如何实现这个?
非常感谢
[解决办法]你虽然把buf和ch改到了10,但你读的时候还是2,fread(buf,sizeof(char),2,sf);