Вы можете использовать условие экспликации, которое хотите использовать base 16 с strtol
char C = 'E';
int num = strtol (&C ,NULL,16); // 14
. Остерегайтесь того, что C
не является нулевым завершенным массивом, просто решается, если вы можете изменить свои символы на следующие :
char C[] = "E";
int num = strtol(C, NULL, 16);