c语言字符串转btye数组的问题(eg: 字符串“c8329bfd0e01”转byte数组c8 32 9b fd 0e 01)哪出问题了

void stringtobyte(unsigned char *pSrc, unsigned char *pDst, int len)
{
int i;
for(i=0 ;i<len/2;i++)
{
if(*pSrc >='0' && *pSrc <= '9')
{

*pDst =( (*pSrc) -48 )*16;
}else{

*pDst =( (*pSrc) -'a'+10 )*16;

}
pSrc++;
if(*pSrc >='0' && *pSrc <= '9')
{
*pDst =*pSrc -48+ *pDst;
}else{
*pDst = *pSrc + *pDst-97+10;
}
pSrc++;pDst++;
}
*(pDst++) = '\0';
}

第1个回答  2015-04-20
好像没什么问题,只是要保证字符串里面的都是小写字母
相似回答