|
ワイルドカード('*', '?')の使用可能な文字列比較関数を作る。
//*********************************************************
// 第1引数にワイルドカードを含む文字列を指定する。
// 2つの文字列が一致すれば真、さもなくば偽を返す。
//*********************************************************
int // 一致すれば 真
strmatch
(
const char *ptn, // ワイルドカード
const char *str // 比較する文字列
)
{
switch( *ptn )
{
case '\0':
return '\0' == *str;
case '*':
return strmatch( ptn+1, str )
|| (('\0' != *str) && strmatch( ptn, str+1 ));
case '?':
return ('\0' != *str)
&& strmatch( ptn+1, str+1 );
default:
return ((unsigned char)*ptn == (unsigned char)*str)
&& strmatch( ptn+1, str+1 );
}
}//strmatch
関連 | |
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
>> Amazon.co.jp 『たまゆら童子』 へ
>> 楽天ブックス 『たまゆら童子』 へ