>>119
ナイスかどうかは知らんけど、これでいいか ?

char s[64];
char *dummy;
sprintf(s, "0x%d", x);
x = strtol(s, &dummy, 16);