fnmatch

Section: C Library Functions (3)
Updated: 15 décembre 2022
Index Return to Main Contents
 

NOM

fnmatch - Rechercher une correspondance entre un nom de fichier ou un chemin et un motif  

BIBLIOTHÈQUE

Bibliothèque C standard (libc, -lc)  

SYNOPSIS

#include <fnmatch.h>

int fnmatch(const char *motif, const char *chaîne, int drapeaux);
 

DESCRIPTION

La fonction fnmatch() vérifie si l'argument chaîne correspond au motif qui est un motif avec des méta-caractères de l'interpréteur de commandes (voir glob(7)).

L'argument drapeaux modifie le comportement de la fonction. C'est un OU binaire entre zéro ou plusieurs des drapeaux suivants :

FNM_NOESCAPE
Si ce drapeau est défini, traiter la barre oblique inverse « \ » comme un caractère ordinaire et non comme un caractère d'échappement.
FNM_PATHNAME
Si ce drapeau est défini, ne faire correspondre une barre oblique « / » dans chaîne qu'avec une barre oblique dans motif, et pas avec les méta-caractères « * » ou « ? », ni avec une expression entre crochets « [] » contenant une barre oblique.
FNM_PERIOD
Si ce drapeau est défini, un point en début de chaîne doit correspondre exactement à un point dans motif. Un point est considéré comme en début de chaîne, s'il est le premier caractère de chaîne, ou si FNM_PATHNAME est défini alors que le point suit immédiatement une barre oblique.
FNM_FILE_NAME
Il s'agit d'un synonyme GNU de FNM_PATHNAME.
FNM_LEADING_DIR
Si ce drapeau (une extension GNU) est défini, la correspondance est considérée comme correcte si le motif correspond à un segment initial de la chaîne chaîne suivi d'une barre oblique. Ce drapeau est réservé à un usage interne de la glibc et n'est pas toujours implémenté.
FNM_CASEFOLD
Si ce drapeau (une extension GNU) est défini, la correspondance est recherchée sans tenir compte de la casse.
FNM_EXTMATCH
Si ce drapeau (extension GNU) est défini, les motifs étendus sont pris en charge tels qu'introduits par « ksh », et désormais pris en charge par d'autres interpréteurs de commandes. Le format étendu se présente comme suit, liste_motifs étant une liste de motifs séparés par des « | ».
« ?(liste_motifs) »
Le motif correspond si au plus une occurrence des motifs listés dans liste_motifs correspond à la chaîne spécifiée.
« *(liste_motifs) »
Le motif correspond si zéro ou plusieurs occurrences des motifs listés dans liste_motifs correspondent à la chaîne spécifiée.
« +(liste_motifs) »
Le motif correspond si au moins une occurrence des motifs listés dans liste_motifs correspond à la chaîne spécifiée.
« @(liste_motifs) »
Le motif correspond si une et une seule occurrence des motifs listés dans liste_motifs correspond à la chaîne spécifiée.
« !(liste_motifs) »
Le motif correspond si la chaîne spécifiée ne peut correspondre à aucun des motifs listés dans liste_motifs.
 

VALEUR RENVOYÉE

Zéro si chaîne correspond au motif, FNM_NOMATCH s'il n'y a pas correspondance et une autre valeur non nulle s'il y a une erreur.  

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
InterfaceAttributValeur
fnmatch() Sécurité des threadsMT-Safe env locale

 

STANDARDS

POSIX.1-2001, POSIX.1-2008, POSIX.2. Les drapeaux FNM_FILE_NAME, FNM_LEADING_DIR et FNM_CASEFOLD sont des extensions GNU.  

VOIR AUSSI

sh(1), glob(3), scandir(3), wordexp(3), glob(7)

 

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Frédéric Hantrais <fhantrais@gmail.com> et Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à


 

Index

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ATTRIBUTS
STANDARDS
VOIR AUSSI
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 06:39:19 GMT, May 18, 2024