FNMATCH(3)

ИМЯ
fnmatch - сравнивает имя файла или путь

ОБЗОР
#include <fnmatch.h>

int fnmatch(const char *pattern, const char *string, int flags);

ОПИСАНИЕ
Функция fnmatch() проверяет, совпадает ли параметр string с параметром pattern, который является шаблоном.

Аргумент flags изменяет поведение; он является битовой маской и может содержать следующие флаги:

FNM_NOESCAPE
    Если этот флаг установлен, то обратная косая черта воспринимается как простой символ, а не специальный.

FNM_PATHNAME
    Если этот флаг установлен, то косая черта в строке string будет совпадать только с косой чертой в шаблоне pattern, но не с метасимволом звёздочка (*) или вопросительным знаком (?) и не последовательностью в квадратных скобках ([]), содержащую косую черту.

FNM_PERIOD
    Если этот флаг установлен, то начальная точка в строке string должна сравниваться именно с точкой в шаблоне pattern. Точка считается начальной, если она является первым символом в строке string, или если установлен флаг FNM_PATHNAME и точка следует сразу за косой чертой.

FNM_FILE_NAME
    Синоним FNM_PATHNAME в GNU.

FNM_LEADING_DIR
    Если этот флаг (расширение GNU) установлен, то строка считается совпавшей с шаблоном, если совпадает начальный сегмент строки string, который следует сразу за косой чертой. Этот флаг для внутреннего использования glibc и не всегда реализуется.

FNM_CASEFOLD
    Если этот флаг (расширение GNU) установлен, то выражения сравниваются без учёта регистра символов.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает ноль, если строка string совпадает с шаблоном pattern, возвращает FNM_NOMATCH, если строка и шаблон не совпадают, или другое ненулевое значение, если произошла ошибка.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
fnmatch() | безвредность в нитях | безвредно (MT-Safe env locale)

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.2. Флаги FNM_FILE_NAME, FNM_LEADING_DIR и FNM_CASEFOLD являются расширениями GNU.

СМОТРИТЕ ТАКЖЕ
sh(1), glob(3), scandir(3), wordexp(3), glob(7)