Вы можете попробовать strtol. Но strtol нуждается в 0-конце char *, поэтому:
strtol
char *
long x = strtol((char[]){A, 0}, NULL, 16);