读书人

转换函数有关问题.

发布时间: 2013-03-01 18:33:02 作者: rapoo

转换函数问题..
CString BCD码转asc(char *BCD,int bytes)
{
unsigned char h=0,l=0,hh=240,ll=15;
char *DPT_ASC=(char*)malloc(bytes);
for (int i = 0,j=0;i <7; i++)
{
h=BCD[i];
l=BCD[i];
h=h & hh; // 高位
l=l & ll; // 低位
h=h>>4;
if(h<=9)h=h+48;
else h=h+55;
if(l<=9)l=l+48;
else l=l+55;
DPT_ASC[j]=h;
DPT_ASC[j+1]=l;
j=j+2;
}
CString DPT;

DPT.Format("%s",DPT_ASC);
return DPT;
}
CString Asc码ToBcd(char *BCD,int bytes)
{
unsigned char h=0,l=0,hh=240,ll=15;
char *DPT_ASC=(char*)malloc(bytes);
for (int i = 0,j=0;i <7; i++)
{
h=BCD[j];
l=BCD[j+1];
h=h | hh;
l=l | ll;
h=h<<4;
if (h>=9) h=h-48;
else h=h-55;
if(l>=9) l=l-45;
else l=l-55;
DPT_ASC[i]=h+l;

j+j+2;
}
CString DPT;

DPT.Format("%s",DPT_ASC);
return DPT;
}
AscToBcd 函数 我这样写怎么不对呢?正确的应该怎么写啊。我按照上面的那个函数反着写的啊...
[解决办法]
概念要正确,2位表示一位。

然后断点查。

读书人网 >VC/MFC

热点推荐