#include <stdio.h>
unsigned char mychar[]={0x03,0xc0};
unsigned long StringToHex(char *str)
{
char *p;
unsigned long val = 0;
for (p = str; *p; ++p) {
val <<= 4;
switch (*p) {
case '0': val += 0; break;
case '1': val += 1; break;
case '2': val += 2; break;
case '3': val += 3; break;
case '4': val += 4; break;
case '5': val += 5; break;
case '6': val += 6; break;
case '7': val += 7; break;
case '8': val += 8; break;
case '9': val += 9; break;
case 'A':
case 'a': val += 10; break;
case 'B':
case 'b': val += 11; break;
case 'C':
case 'c': val += 12; break;
case 'D':
case 'd': val += 13; break;
case 'E':
case 'e': val += 14; break;
case 'F':
case 'f': val += 15; break;
}
}
return val;
}
int main()
{
unsigned char tmpchar[255];
snprintf(tmpchar,sizeof(tmpchar),"0x%02x%02x",mychar[0],mychar[1]);
printf("%d\n",StringToHex(tmpchar));
}