Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

lfind(3c) [hpux man page]

lsearch(3C)															       lsearch(3C)

NAME
lsearch(), lfind() - linear search and update SYNOPSIS
DESCRIPTION
is a linear search routine generalized from Knuth (6.1) Algorithm S. It returns a pointer into a table indicating where a datum may be found. If the datum does not occur, it is added at the end of the table. key Points to the datum to be sought in the table. base Points to the first element in the table. nelp Points to an integer containing the current number of elements in the table. The integer is incremented if the datum is added to the table. compar Name of the comparison function which the user must supply for example). It is called with two argu- ments that point to the elements being compared. The function must return zero if the elements are equal and non-zero otherwise. Same as except that if the datum is not found, it is not added to the table. Instead, a NULL pointer is returned. Notes The pointers to the key and the element at the base of the table should be of type pointer-to-element, and cast to type pointer-to-charac- ter. The comparison function need not compare every byte, so arbitrary data may be contained in the elements in addition to the values being compared. Although declared as type pointer-to-character, the value returned should be cast into type pointer-to-element. EXAMPLES
This code fragment reads in <= strings of length <= and stores them in a table, eliminating duplicates. ... ... RETURN VALUE
If the searched-for datum is found, both and return a pointer to it. Otherwise, returns NULL and returns a pointer to the newly added ele- ment. WARNINGS
Undefined results can occur if there is not enough room in the table to add a new item. SEE ALSO
bsearch(3C), hsearch(3C), tsearch(3C), thread_safety(5). STANDARDS CONFORMANCE
lsearch(3C)

Check Out this Related Man Page

lsearch(3)						     Library Functions Manual							lsearch(3)

NAME
lsearch, lfind - Perform a linear search and update LIBRARY
Standard C Library (libc) SYNOPSIS
#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 *)); STANDARDS
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. PARAMETERS
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. DESCRIPTION
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. NOTES
[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. RETURN VALUES
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 ta- ble entry. RELATED INFORMATION
Functions: bsearch(3), hsearch(3), tsearch(3), qsort(3) Standards: standards(5) delim off lsearch(3)
Man Page