lsearch, lfind − Recherche linéaire dans une table.
#include <search.h>
void
*lfind(const void *key, const void
*base, size_t *nmemb,
size_t size, int(*compar)(const
void *, const void *));
void
*lsearch(const void *key, void
*base, size_t *nmemb,
size_t size, int(*compar)(const
void *, const void *));
Les fonctions lfind() et lsearch() effectuent une recherche linéaire de la clé key dans la table base contenant *nmemb éléments, chacun de taille size octets. La fonction de comparaison, pointée par compar, est supposée prendre deux arguments pointant sur l’objet key et sur un élément de la table, dans cet ordre. La fonction de comparaison renvoie zéro si key correspond à cet élément de la table, et une valeur non nulle sinon.
Si lsearch() ne trouve pas d’élément correspondant, alors l’objet key est ajouté à la fin de la table et *nmemb est incrémenté. Il faut savoir qu’un élément de correspondance existe, ou qu’il n’y a plus de place disponible.
lfind() renvoie un pointeur sur l’élément de la table correspondant, ou NULL si aucune correspondance n’est trouvée. lsearch() renvoie un pointeur sur un élément correspondant de la table, ou sinon sur le nouvel élément ajouté.
SVr4, BSD 4.3, POSIX.1−2001. Fonctions présentes dans la libc depuis la version 4.6.27.
L’appellation est malheureuse.
bsearch(3), hsearch(3), tsearch(3)
Cette page fait partie de la publication 3.23 du projet man−pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l’adresse http://www.kernel.org/doc/man−pages/.
Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ−montp2 DOT fr> jusqu’en 2006, et mise à disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont directement gérées par Florentin Duneau <fduneau [AT] gmail.com> et l’équipe francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à <debian−l10n−french [AT] lists.org> ou par un rapport de bogue sur le paquet manpages−fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man −L C <section> <page_de_man> ».