lsearch, lfind - Recherche linéaire dans un tableau
Bibliothèque C standard (
libc,
-lc)
#include <search.h>
void *lfind(const void key[.size], const void base[.size * .nmemb],
size_t *nmemb, size_t size,
int(*compar)(const void [.size], const void [.size]));
void *lsearch(const void key[.size], void base[.size * .nmemb],
size_t *nmemb, size_t size,
int(*compar)(const void [.size], const void [.size]));
Les fonctions
lfind() et
lsearch() effectuent une recherche
linéaire de la clé
key dans le tableau
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 du tableau, dans cet ordre. La fonction de
comparaison renvoie zéro si
key correspond à cet
élément du tableau, et une valeur non nulle sinon.
Si
lsearch() ne trouve pas d'élément correspondant, alors
l'objet
key est ajouté à la fin du tableau 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 du tableau
correspondant, ou NULL si aucune correspondance n'est trouvée.
lsearch() renvoie un pointeur sur un élément
correspondant du tableau, ou sinon sur le nouvel élément
ajouté.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
lfind(), lsearch() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. Fonctions présentes dans la
libc depuis la version 4.6.27.
L'appellation est malheureuse.
bsearch(3),
hsearch(3),
tsearch(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]>,
Jean-Baptiste Holcroft <
[email protected]> et Grégoire
Scano <
[email protected]>
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 à
[email protected]