名 前
fnmatch − フ ァ イ ル 名 ま た は パ ス 名 へ の マ ッ チ を 行 う
書 式
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
説 明
fnmatch() 関 数 は strings 引 き 数 が pattern 引 き 数 に マ ッ チ す る か を チ ェ ッ ク す る 。 pattern に は シ ェ ル の ワ イ ル ド カ ー ド パ タ ー ン を 与 え る 。
flags
引 き 数 に よ り
動 作 を 変 更 で
き る 。 flags は 以
下 の フ ラ グ の
ビ ッ ト 毎 の OR で
指 定 す る 。
FNM_NOESCAPE こ の フ ラ
グ が セ ッ ト さ
れ て い る と 、
バ ッ ク ス ラ ッ
シ ュ (\) を エ ス ケ
ー プ 文 字 で は
な く 通 常 の 文
字 と し て 扱 う
。
FNM_PATHNAME こ の フ ラ
グ が セ ッ ト さ
れ て い る と 、
string 中 の ス ラ ッ
シ ュ (/) を pattern に
あ る ス ラ ッ シ
ュ そ の も の に
だ け マ ッ チ さ
せ 、 ア ス タ リ
ス ク (*) や 疑 問 符
(?) の メ タ キ ャ ラ
ク タ ー や 、 ス
ラ ッ シ ュ を 含
む ブ ラ ケ ッ ト
表 現 ([]) に は マ ッ
チ さ せ な い 。
FNM_PERIOD こ の フ ラ グ
が セ ッ ト さ れ
て い る と 、 string
の 先 頭 ピ リ オ
ド (leading period) は pattern 中
の ピ リ オ ド そ
の も の に し か
マ ッ チ し な い
。 先 頭 ピ リ オ
ド と は 、 string の
最 初 の 文 字 位
置 に あ る ピ リ
オ ド の こ と で
あ る 。 た だ し
FNM_PATHNAME フ ラ グ が
同 時 に セ ッ ト
さ れ て い る 場
合 に は 、 ス ラ
ッ シ ュ の 直 後
に 続 く ピ リ オ
ド も 先 頭 ピ リ
オ ド と み な さ
れ る 。
FNM_FILE_NAME こ れ は
FNM_PATHNAME に 対 す る GNU
で の 同 義 語 で
あ る .
FNM_LEADING_DIR こ の フ ラ
グ は GNU で の 拡 張
で あ る 。 こ れ
が セ ッ ト さ れ
て い る 場 合 に
は 、 パ タ ー ン
が string の 最 初 の
部 分 (に ス ラ ッ
シ ュ を 付 け た
も の ) に マ ッ チ
す れ ば 、 マ ッ
チ し た も の と
み な さ れ る 。
こ の フ ラ グ は
主 と し て glibc で 内
部 的 に 使 用 す
る も の で 、 そ
の た め に の み
実 装 さ れ て い
る 。
FNM_CASEFOLD こ の フ ラ
グ は GNU で の 拡 張
で あ る 。 こ れ
が セ ッ ト さ れ
て い る 場 合 に
は 、 パ タ ー ン
の マ ッ チ に 大
文 字 小 文 字 が
区 別 さ れ な い
。
返 り 値
string が pattern に マ ッ チ す れ ば 0 を 返 す 。 マ ッ チ し な か っ た 場 合 に は FNM_NOMATCH を 返 す 。 エ ラ ー の 場 合 に は そ れ 以 外 の 非 ゼ ロ 値 を 返 す 。
準 拠
POSIX.2. FNM_FILE_NAME, FNM_LEADING_DIR, FNM_CASEFOLD フ ラ グ は GNU の 拡 張 で あ る 。
関 連 項 目
sh(1), glob(3), scandir(3), wordexp(3), glob(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。