#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,
если строка и шаблон не совпадают, или другое ненулевое значение,
если есть какая-либо ошибка в шаблоне.
СООТВЕТСТВИЕ СТАНДАРТАМ
ISO/IEC 9945-2: 1993 (POSIX.2). Флаги
FNM_FILE_NAME, FNM_LEADING_DIR и FNM_CASEFOLD
являются расширениями GNU.