| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7951 人关注过本帖
标题:关于十六进制转换为字符串的问题
取消只看楼主 加入收藏
szweifj
Rank: 2
等 级:论坛游民
帖 子:30
专家分:26
注 册:2010-2-10
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:3 
关于十六进制转换为字符串的问题
如题,笔者需要将数组中的十六进制转换为字符串,用于统计和输出,现写了如下代码,
现在的问题是 转换不成功,输出的并不是笔者想要的,请教各位高人,小弟需要在程序中作那些改动? 谢谢!
#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 编辑 ]
搜索更多相关主题的帖子: 十六进制 字符串 统计 
2011-02-19 18:11
szweifj
Rank: 2
等 级:论坛游民
帖 子:30
专家分:26
注 册:2010-2-10
收藏
得分:0 
要求把数组char temp[4]={0x00,0x12,0x31,0x44};中的元素转换为字符串的形式: 00 12 31 44 ,并保存到 tempbuf 中进行输出
2011-02-19 19:22
szweifj
Rank: 2
等 级:论坛游民
帖 子:30
专家分:26
注 册:2010-2-10
收藏
得分:0 
受教啦  
在定义 char tempbuf[4];时 是否可以改为 char tempbuf[10]; 然后 memset(tempbuf,0,sizeof(tempbuf));对数组初始化,这样就可以不要考虑结尾和越界的问题啦
2011-02-19 19:37
szweifj
Rank: 2
等 级:论坛游民
帖 子:30
专家分:26
注 册:2010-2-10
收藏
得分:0 
我遇到的问题是要把BCD码转换为 字符串格式  呵呵
主要是知道我的程序问题出在什么地方,二是有没有其它方法可以进行 十六进制到 字符 的转换

[ 本帖最后由 szweifj 于 2011-2-19 19:43 编辑 ]
2011-02-19 19:37
快速回复:关于十六进制转换为字符串的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011756 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved