LSEARCH(3)

NOM
lsearch, lfind - Recherche linéaire dans une table

SYNOPSIS
#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 *));

DESCRIPTION
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, 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.

VALEUR RENVOYÉE
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 sur le nouvel élément ajouté.

CONFORMITÉ
SVr4, BSD 4.3, POSIX.1-2001. Fonctions présentes dans la libc depuis la version 4.6.27.

BOGUES
L'appellation est malheureuse.

VOIR AUSSI
bsearch(3), hsearch(3), tsearch(3)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 22 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 lsearch ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.