Вы, вероятно, хотите это:
#include <stdio.h>
#include <string.h>
int main() {
char buffer[] = "ab" ;
int x = strtol(buffer, NULL, 16);
printf("x in hexadecimal = %x\nx in decimal = %d\n", x, x);
return 0;
}
Или немного сложнее, если вы просто хотите выбрать 2 символа в середине строки:
#include <stdio.h>
#include <string.h>
int main() {
char buffer[] = "ab12345" ;
char tempbuffer[3];
tempbuffer[0] = buffer[0];
tempbuffer[1] = buffer[1];
tempbuffer[2] = 0;
int x = strtol(tempbuffer, NULL, 16);
printf("x in hexadecimal = %x\nx in decimal = %d\n", x, x);
return 0;
}