比较十六进制值中的n个字符的序列
||
我基本上是在尝试将令牌(字符串)与十六进制数据类型进行比较!
例:
#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仅比较字符串,因此我尝试将十六进制值转换为char * ...
它根本不起作用。
我到处都搜索过...甚至在我的《 C语言》一书中……但我不知道该如何解决这个问题。
在Java中,我会使用startsWith等之类的东西,但是我不知道c中是否有一个熟悉的函数可能具有相同的效果。
没有找到相关结果
已邀请:
2 个回复
殿虫
,但我不建议这样做。 我建议您先将十六进制转换为字符串,然后进行比较:
师埠女