匹配函数
炽翼铁冰
posted @ 2012年4月24日 15:08
in C(转载)
, 3095 阅读
#include <stdio.h> typedef int BOOL; #define TRUE 1 #define FALSE 0 static const char MWILDCHAR = '*'; static const char SWILDCHAR = '?'; BOOL recmatch(const char* p, const char* s) { char c; BOOL result; printf("test here\n"); c = *(p++); printf("test here c=[%c]\n", c); if( c==0x00) { return *s == 0x0; //匹配空 } if( c==SWILDCHAR) { return (*s!=0x0)? recmatch(p, s+1):FALSE; //"?"模糊匹配(不包括空字符) } if( c==MWILDCHAR) // "*"匹配所有字符 { if(*p == 0) return TRUE; for( ; *s!=0x0;s++) { result = recmatch(p, s); if( result ) return result; } return FALSE; } return (c==*s) ? recmatch(p, s+1):FALSE; } int main(void) { char test1[]="abc*"; char test2[]="abc"; BOOL result= recmatch(test1, test2); printf("test1=[%s] test2=[%s] match result=[%d]\n", test1, test2, result); }
2012年4月24日 22:49
你怎么把 fnmatch 自己实现了一遍?
2012年4月27日 02:56
@依云: 基础不好,研究下当作学习。见笑了..
2024年1月17日 21:53
I'm grateful for 오피타임's commitment to customer satisfaction.
2024年1月18日 05:09
제주출장마사지 - where stress melts away like magic.