Manpages

名 前

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 で の 拡 張 で あ る 。 こ れ が セ ッ ト さ れ て い る 場 合 に は 、 パ タ ー ン の マ ッ チ に 大 文 字 小 文 字 が 区 別 さ れ な い 。

返 り 値

stringpattern に マ ッ チ す れ ば 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/ に 書 か れ て い る 。