fnmatch - porównuje nazwę pliku lub
ścieżki
Standardowa biblioteka C (libc, -lc)
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
Funkcja fnmatch() sprawdza, czy argument string
pasuje do wzorca pattern, który jest wzorcem powłoki
mogącym zawierać znaki wieloznaczne (zob. glob(7)).
Argument flags modyfikuje zachowanie funkcji, jest to
bitowe OR zera lub więcej spośród
następujących znaczników:
- FNM_NOESCAPE
- Jeśli ten znacznik jest ustawiony, odwrotny ukośnik
(„\”) jest traktowany jako zwykły znak, a nie jako
znak maskujący.
- FNM_PATHNAME
- Jeśli ten znacznik jest ustawiony, ukośnik w string
pasuje tylko do ukośnika w pattern, a nie do metaznaku
asterysku (*) lub znaku zapytania (?), ani nie do ciągu zawartego w
wyrażeniu klamrowym [] zawierającym ukośnik.
- FNM_PERIOD
- Jeśli ten znacznik jest ustawiony, początkowa kropka w
string musi dokładnie pasować do kropki w
pattern. Kropka jest uznawana za początkową,
jeśli jest pierwszym znakiem string lub jeśli
ustawiony jest znacznik FNM_PATHNAME, a kropka następuje
bezpośrednio po ukośniku.
- FNM_FILE_NAME
- Jest to synonim GNU dla FNM_PATHNAME.
- FNM_LEADING_DIR
- Jeśli ten znacznik (rozszerzenie GNU) jest ustawiony, wzorzec jest
uznawany za pasujący jeśli pasuje do początkowego
fragmentu string, po którym następuje ukośnik.
Ten znacznik jest przeznaczony do wewnętrznego użytku w
glibc i jest zaimplementowany tylko w niektórych przypadkach.
- FNM_CASEFOLD
- Jeśli ten znacznik (rozszerzenie GNU) jest ustawiony,
wielkość liter jest nieistotna.
- FNM_EXTMATCH
- Jeśli ten znacznik (będący rozszerzeniem GNU) jest
ustawiony, to obsługiwane są wzorce rozszerzone, wprowadzone
przez „ksh”, a obecnie obsługiwane też przez
inne powłoki. Format rozszerzony jest następujący,
przy czym lista-wzorców jest listą wzorców,
używającą „|” jako separatora.
- '?(lista-wzorców)'
- Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w
liście-wzorców wystąpi w wejściowym
string zero lub jeden raz.
- '*(lista-wzorców)'
- Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w
liście-wzorców wystąpi w wejściowym
string zero lub więcej razy.
- '+(lista-wzorców)'
- Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w
liście-wzorców wystąpi w wejściowym
string jeden lub więcej razy.
- '@(lista-wzorców)'
- Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w
liście-wzorców wystąpi w wejściowym
string dokładnie jeden raz.
- '!(lista-wzorców)'
- Wzorzec zostanie dopasowany, jeśli wejściowy string
nie zostanie dopasowany z żadnym ze wzorców w
liście-wzorców.
Zero jeśli string pasuje do pattern,
FNM_NOMATCH jeśli nie pasuje lub inna niezerowa
wartość jeśli wystąpił
błąd.
Informacje o pojęciach używanych w tym rozdziale
można znaleźć w podręczniku
attributes(7).
| Interfejs |
Atrybut |
Wartość |
| fnmatch() |
Bezpieczeństwo wątkowe |
MT-bezpieczne env locale |
Tłumaczenie niniejszej strony podręcznika: Adam
Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz
<ankry@green.mf.pg.gda.pl> i Michał Kułach
<michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną
dokumentacją. Bliższe informacje o warunkach licencji
można uzyskać zapoznając się z
GNU General
Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika
prosimy zgłaszać na adres listy dyskusyjnej
manpages-pl-list@lists.sourceforge.net.