忙里偷闲,写了一个玩,代码风格有点过于正规,看不顺眼可以自己改
[CODE]void atox(char * szStr, unsigned int ** ppulHex, unsigned int * pulLength)
{
char szTmp[9];
int iCount = (strlen(szStr) / 8) + (strlen(szStr) % 8 > 0 ? 1 : 0);
int i, iLeft = strlen(szStr);
unsigned int * pulHex = NULL;
memset(szTmp, 0, sizeof(szTmp));
pulHex = new unsigned int[iCount];
if (! pulHex)
{
* ppulHex = NULL;
return;
}
for (i = 0; i < iCount; i ++)
{
strncpy(szTmp, szStr, 8 > iLeft ? iLeft : 8);
szTmp[szStr, 8 > iLeft ? iLeft : 8 + 1] = 0;
sscanf(szTmp, "%x", &pulHex[i]);
szStr += 8;
iLeft -= 8;
}
* ppulHex = pulHex;
* pulLength = iCount;
}[/CODE]
世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。