maxiang1985 发表于 2012-8-18 16:12:35

求助!!数值怎么才能转换成字符串

         大家好,我在做通信是unsigned char data[]={0xfa,0x22,0xfe}的数值,怎么才能转换成一个字符串a=“fa22fe”,请大家给个好办法。

BXAK 发表于 2012-8-18 19:06:35

做一字节的拆分发送函数,先发送高四位,再发送低四位,发送前用下面的HEX2_ASCII函数将数据转成字符

//将0~15转'0'~'F'
uint8 HEX2_ASCII(uint8 dat)         
{
    dat &= 0x0F;
    if(dat < 10) return (dat+'0');          //数字0~9
    else            return (dat-10+'A');   //字母A~F
}

qinpenglai 发表于 2012-8-18 19:41:40

#include <stdio.h>
char temp;
sprinf(temp,"%c%c%c",date,date,date);

使用范围见下帖
http://www.amobbs.com/thread-5479873-1-1.html

maxiang1985 发表于 2012-8-18 22:45:56

谢谢,大家了,呵呵,解决了

lusson 发表于 2012-8-18 22:49:14

sprinf函数还是很好用的{:lol:}{:lol:}

maxiang1985 发表于 2012-9-5 14:26:30

自己写了一个,发给大家吧,看看还有什么好招么
u8 HEX2_ASCII(u8 dat) /*0-f转换成字符“0”-“f”函数*/         
{   dat &= 0x0F;
    if(dat < 10) return (dat+'0');      //数字0~9
        else      return (dat-10+'A');   //字母A~F
}
char s1;//转换字符串结果
void Array_to_String(u8 *p,u8 len)        /*数组转化成字符串函数*/
{       
  u8 i;
        for(i=0;i<len;i++)
        {
  s1=HEX2_ASCII(p);
                s1=HEX2_ASCII((p>>4));
        }
}
页: [1]
查看完整版本: 求助!!数值怎么才能转换成字符串