字符串比较被广泛应用在恶意程序特征码,外挂与反外挂的对抗.对字符串比较函数的了解和实现是掌握它的一个好主意.
DIY了一个字符串比较函数:
/*Author:dalerkd,2015-3-17
**输入两个字符串的指针,如果第二个字符串不能跟第一个字符串匹配,返回0
**如果第二个字符串跟第一个字符串有匹配项目,返回第一个匹配处字符的指针
**如果第一个字符串或者第二个字符串为空,exit(-1)
*/
char* chararrgecmp(char* ra,char* rb)
{
char* raa=NULL;//存放ra的数值,用于进一步操作
char* rbb=NULL;//存放rb的数值,用于进一步操作
char* rab=NULL;//存放返回指针
raa=ra;
rbb=rb;
rab=NULL;//标记此位可能是匹配成功的字符串开始
if (ra==NULL||rb==NULL)
exit(-1);
for(;*rbb!='\0';rbb++)
{
for(;*raa!='\0';raa++)
{
if(*raa==*rbb)
{
if(rab==NULL)//只在rab为初始化的时候才能赋新值
{rab=raa;}
raa++;//相等开始下一位的对比
break;
}
rab=NULL;//匹配失败,标记复原
rbb=rb;//匹配失败,关键字符串位置复原
}
}
if(rab==ra) //判断是否没有匹配成功结束
{
return 0;
}
return rab;
}