#include <stdio.h>
int match(char *pat,char *str)
{
switch(*pat){
case '\0': return !*str;
case '*': return match(pat+1,str) || *str && match(pat,str+1);
case '?': return *str && match(pat+1,str+1);
default: return *pat == *str && match(pat+1,str+1);
}
}
int main()
{
int i=match("a*c","aplomb.c");
printf("i=%d\n",i);
return;
}
[root@lx ~]# gcc match.c
[root@lx ~]# ./a.out
i=1