lsearch, lfind - Perform a linear search and update
#include <search.h>
void *lsearch(
const void *key,
void *base,
size_t *nelp,
size_t width,
int (*compar)(const void*, const void*) ); void
*lfind(
const void *key,
const void *base,
size_t *nelp,
size_t width,
int (*compar)(const void*, const void*) );
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards as follows:
lsearch(), lfind(): XSH5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Points to an entry containing the key that specifies the
entry to be searched for in the table. Points to the
first entry in the table to be searched. Points to an
integer that specifies the current number of entries in
the table to be searched. This integer is incremented
whenever an entry is added to the table. Specifies the
size of each entry, in bytes. Points to the user-specified
function to be used for comparing two table entries
(strcmp(), for example). This function must return 0
(zero) when called with arguments that point to entries
whose keys compare equal, and nonzero otherwise.
The lsearch() function performs a linear search of a
table. This function returns a pointer into a table indicating
where a specified key is located in the table. When
the key is not found in the table, the function adds the
key to the end of the table. Free space must be available
at the end of the table, or other program information may
be corrupted.
The lfind() function is similar to the lsearch() function,
except that when a key is not found in a table, the
lfind() function does not add an entry for the key to the
table. In this case, lfind() returns a null pointer.
[Tru64 UNIX] The lsearch() function is reentrant, but
care should be taken to ensure that the function supplied
as argument compar is also reentrant.
The comparison function need not compare every byte;
therefore, the table entries can contain arbitrary data in
addition to the values undergoing comparison.
If an entry in the table matches the key, both the
lsearch() and lfind() functions return a pointer to the
entry's location in the table. Otherwise, the lfind()
function returns a null pointer, and the lsearch() function
returns a pointer to the location of the newly added
table entry.
Functions: bsearch(3), hsearch(3), tsearch(3), qsort(3)
Standards: standards(5)
lsearch(3)
[ Back ] |