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;
}
字符串匹配
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.