读书人

有关16进制字符输出的有关问题

发布时间: 2012-02-27 10:00:22 作者: rapoo

有关16进制字符输出的问题
编程中有一问题,急需各位帮忙看一下.
有一结果unsinged char* result
当如下打印时
for(i=0;i <3;i++)
{
printf( "%02x ",*result);
result++;
}
打印出:04000C
我另有一字符集char* str= "code= "
我的目的是得到str= "code=04000c ";

有什么方法,可得到上述结果,请各位指点一下.

[解决办法]
只是打印出来的话,只要在循环前,把 "code= " printf一下就可以了。
如果是要得到这么一个字符串,那么开辟一块内存,然后用sprintf。
大致如下:
char buf[512];
int offset = 0;
offset = sprintf(buf, "%s ", str);
for(i=0;i <3;i++)
{
offset += printf(buf + offset, "%02x ", *result);
result++;
}
[解决办法]
char* str = "code= ";
for(i=0;i <3;i++)
{
printf( "%s%02x\n ", str, *result);
result++;
}
[解决办法]
WingForce(初六,履霜,坚冰至。) 方法最简单

复杂就是先用sprintf()把数字转化为字符串,之后strcat接起来!

读书人网 >C语言

热点推荐