ИМЯ
fnmatch -
    сравнивает
    имя файла
    или путь
ОБЗОР
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
ОПИСАНИЕ
Функция
    fnmatch()
    проверяет,
    совпадает
    ли
    параметр
    string с
    параметром
    pattern, который
    является
    подстановочным
    шаблоном
    оболочки
    (смотрите
    glob(7)).
Аргумент
    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)
      установлен,
      то
      выражения
      сравниваются
      без учёта
      регистра
      символов.
- FNM_EXTMATCH
- Если этот
      флаг
      (расширение
      GNU)
      установлен,
      то
      поддерживаются
      расширенные
      шаблоны из
      'ksh' и теперь
      поддерживаемые
      другими
      оболочками.
      В
      расширенном
      формате
      pattern-list
      предоставляет
      собой
      список
      шаблонов,
      разделённых
      '|', входит
      следующее:
- '?(pattern-list)'
- Шаблон
      совпадает,
      если ноль
      или одно
      вхождение
      любого
      шаблона в
      pattern-list
      совпадает
      с входной
      строкой
    string.
- '*(pattern-list)'
- Шаблон
      совпадает,
      если ноль
      или более
      вхождений
      любых
      шаблонов в
      pattern-list
      совпадает
      с входной
      строкой
    string.
- '+(pattern-list)'
- Шаблон
      совпадает,
      если одно
      или более
      вхождений
      любых
      шаблонов в
      pattern-list
      совпадает
      с входной
      строкой
    string.
- '@(pattern-list)'
- Шаблон
      совпадает,
      если
      только
      одно
      вхождение
      любого
      шаблона в
      pattern-list
      совпадает
      с входной
      строкой
    string.
- '!(pattern-list)'
- Шаблон
      совпадает,
      если
      входная
      строка string
      не
      совпадает
      с
      каким-либо
      шаблоном в
      pattern-list.
ВОЗВРАЩАЕМОЕ
  ЗНАЧЕНИЕ
Возвращает
    ноль, если
    строка string
    совпадает
    с шаблоном
    pattern,
    возвращает
    FNM_NOMATCH, если
    строка и
    шаблон не
    совпадают,
    или другое
    ненулевое
    значение,
    если
    произошла
    ошибка.
АТРИБУТЫ
Описание
    терминов
    данного
    раздела
    смотрите в
    attributes(7).
  
    | Интерфейс | Атрибут | Значение | 
  
    | fnmatch() | Безвредность
      в нитях | MT-Safe env locale | 
СООТВЕТСТВИЕ
  СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, POSIX.2.
    Флаги FNM_FILE_NAME,
    FNM_LEADING_DIR и FNM_CASEFOLD
    являются
    расширениями
    GNU.