⑴ 判斷兩個字元串是否匹配,其中字元串中包括通配符*或(串)。*代表0個或多個字元代表一個字元
給你一個用遞歸演算法寫的字元串匹配函數,
非常精練,你可以參考一下,希望能看懂。
輸入:
s,指向含通配符的匹配字元串,
d,指向要匹配的字元目標
返回值:
1,匹配一致
0,不能匹配
int StrMatch(const char *s,const char *d)
{ for(;*s;s++,d++)
{ if(*s=='*')
{ for(s++;;d++)
{ if(StrMatch(s,d))return 1;
if(*d==0)return 0;
}
}
if(*d==0)return 0;
if(*s!='?'&&*s!=*d)return 0;
}
return !(*d);
}