void DwordToString(string &outstr,DWORD dwValue)
{
char szHex[10];
char chrTmp[] = "0123456789ABCDEF";
/*if(sizeof(szHex) < 10)
return;*/
szHex[0] = '0';
szHex[1] = 'x';
for(int i =0;i < 8;i++)
szHex[2+i] = *(chrTmp + (((dwValue) >> (28 - i*4)) & 0xF));
outstr = szHex;
}
DWORD HexStringToDword(string strIn)
{
char szHex[10];
for(int i=0;i<strIn.length();i++)
szHex[i] = strIn[i];
szHex[strIn.length()] = '\0';
DWORD dwValue = 0;
if(strstr(szHex, "0x"))
{
strcpy(szHex, szHex+2);
szHex[8] = '\0';
}
char *szUP = strupr(szHex);
char chrTmp[] = "0123456789ABCDEF";
char *pFind = NULL;
for(int i=0;i < 8;i++)
{
pFind = strchr(chrTmp, szHex[i]);
dwValue = dwValue | (((DWORD)(pFind - chrTmp ) << (7-i)*4) & 0xFFFFFFFF);
}
return dwValue;
}