Одним из способов является преобразование каждых двух шестнадцатеричных цифр из вашей шестнадцатеричной строки и преобразование ее в десятичное значение, а затем сравнение этого преобразованного числа со значением ASCII строки, которую необходимо сравнить.
Примерпоказан код:
int main (void)
{
char str1[]="4A4B4C4D4E4F";
char str2[]="JKLMNO";
char buffer[3];
int n, i = 0, j = 0, value, flag = 1;
n = strlen (str1);
while (i<n)
{
buffer[0] = str1[i++];
buffer[1] = str1[i++];
buffer[2] = '\0';
value = strtol (buffer, NULL, 16);
if (str2[j] != value)
{
flag = 0;
break;
}
j++;
}
if (flag)
printf ("\nMatch");
else
printf ("\nNo Match");
printf ("\n");
reutrn 0;
}