16进制转换成字符串

wain_ 2014-09-22 01:48:50
例如:
char str[] = {0xab,0xbc,0xcd,0xde};
转换: char *buf = "abbccdde";


char buf[10];
char bin[50] = {0x,ab,0xbc,0xcd};
char str[100];
len = strlen(bin);
for (i = 0; i < len; i++) {
sprintf(buf,"%s",bin[i]);
strcat(str,buf);
}

上面这种方法哪里不适合的吗?
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-09-24
  • 打赏
  • 举报
回复
1楼代码是错的。
赵4老师 2014-09-22
  • 打赏
  • 举报
回复
char bin[50] = {0xab,0xbc,0xcd};
char str[100];
for (i = 0; i < 3; i++) {
    sprintf(str+i*2,"%02X",(unsigned char)bin[i]);
}
wain_ 2014-09-22
  • 打赏
  • 举报
回复
引用 1 楼 piaobotudou 的回复:
char buf[10]; char bin[50] = {0xab,0xab,0xbc,0xcd}; char str[100] = {0}; int len = strlen(bin); int i; for (i = 0; i < len; i++) { sprintf(buf,"%.2x",(unsigned char)bin[i]); strcat(str,buf); } return 0;
多谢指点
微型蚂蚁 2014-09-22
  • 打赏
  • 举报
回复
char buf[10]; char bin[50] = {0xab,0xab,0xbc,0xcd}; char str[100] = {0}; int len = strlen(bin); int i; for (i = 0; i < len; i++) { sprintf(buf,"%.2x",(unsigned char)bin[i]); strcat(str,buf); } return 0;

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧