ワイルドカード('*', '?')の使用可能な文字列比較関数を作る。 //********************************************************* // 第1引数にワイルドカードを含む文字列を指定する。 // 2つの文字列が一致すれば真、さもなくば偽を返す。 //********************************************************* int // 一致すれば 真 jmsmatch ( const char *ptn, // ワイルドカード const char *str // 比較する文字列 ) { switch( jmscode(ptn) ) { case '\0': return '\0' == *str; case '*': return jmsmatch( jmsnext(ptn), str ) || (('\0' != *str) && jmsmatch( ptn, jmsnext(str) )); case '?': return ('\0' != *str) && jmsmatch( jmsnext(ptn), jmsnext(str) ); default: return (jmscode(ptn) == jmscode(str)) && jmsmatch( jmsnext(ptn), jmsnext(str) ); } }//jmsmatch 関連
・シフトJIS文字列の判定 | |