首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-02-27 
有关16进制字符输出的问题编程中有一问题,急需各位帮忙看一下.有一结果unsingedchar*result当如下打印时fo

有关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接起来!

热点排行