int HByte(char ch)
{
return (unsigned char)ch>>7;
}
/******************************************
判断两个字符串是否匹配
*******************************************/
int str_cmp(char *sVar1, char *sVar2)
{
int cmp=0; //比较结果的返回值
while(*sVar1!='\0' && *sVar1!='\0')
{
//判断高位是否是1,是1连读两个字节,否则,读一个字节
if(!HByte(*sVar1) && !HByte(*sVar2))
{
cmp=*sVar1-*sVar2;
if(cmp != 0)
{
break;
}
else
{
sVar1++;
sVar2++;
}
}
else if(HByte(*sVar1) && !HByte(*sVar2))
{
cmp=1;
break;
}
else if(!HByte(*sVar1) && HByte(*sVar2))
{
cmp=-1;
break;
}
else
{
cmp=*sVar1-*sVar2;
if(cmp != 0)
{
break;
}
else
{
sVar1++;
sVar2++;
cmp=*sVar1-*sVar2;
if(cmp != 0)
{
break;
}
else
{
sVar1++;
sVar2++;
}
}
}
}
if(*sVar1=='\0' && *sVar2!='\0')
{
cmp=-1;
}
else if(*sVar1!='\0' && *sVar2=='\0')
{
cmp=1;
}
else if(*sVar1=='\0' && *sVar2=='\0')
{
cmp=0;
}
return cmp;
}
字符串匹配
最新推荐文章于 2022-04-11 10:03:39 发布