Я в основном пытаюсь сравнить токен (строку) с шестнадцатеричным типом данных!
Пример:
#include<stdio.h>
#include<string.h>
int main(int argc, char *argv[]) {
char* token ="Hello";
int hex = 0x2F;
if(strncmp(token, "Hil", 3)==0){
printf("Token founde"); //works!
}else{
printf("sorry seems to be the hardest word");
}
}
Это, конечно, работает.Я сравниваю 2 строки как минимум с n символами ... без проблем.
Но теперь я хочу сделать то же самое с шестнадцатеричным значением вместо строки!Примерно так:
int hex = 0x2F;
if(strncmp((char*)hex, "0x", 2)==0){
printf("Token founde"); //works!
}else{
printf("sorry seems to be the hardest word");
}
}
Так как strncmp сравнивает только строки, я попытался привести шестнадцатеричное значение к символу * ... Это совсем не работает.
I 'я искал везде ... даже в моей книге "Язык программирования C" ... но я не могу понять, как решить эту проблему.
В Java я бы использовал что-то вроде startWith и т. д.... но я не знаю, есть ли в c знакомая функция, которая могла бы иметь такой же эффект.