|
NAME
LIBRARYStandard C Library (libc, -lc) SYNOPSIS
void *
void *
DESCRIPTIONThe
The key argument points to an
element that matches the one that is searched. The array's address in memory
is denoted by the base argument. The width of one
element (i.e., the size as returned by
If no matching element was found in the array,
RETURN VALUESThe EXAMPLES#include <search.h>
#include <stdio.h>
#include <stdlib.h>
static int
element_compare(const void *p1, const void *p2)
{
int left = *(const int *)p1;
int right = *(const int *)p2;
return (left - right);
}
int
main(int argc, char **argv)
{
const int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
size_t element_size = sizeof(array[0]);
size_t array_size = sizeof(array) / element_size;
int key;
void *element;
printf("Enter a number: ");
if (scanf("%d", &key) != 1) {
printf("Bad input\n");
return (EXIT_FAILURE);
}
element = lfind(&key, array, &array_size, element_size,
element_compare);
if (element != NULL)
printf("Element found: %d\n", *(int *)element);
else
printf("Element not found\n");
return (EXIT_SUCCESS);
}
SEE ALSOSTANDARDSThe HISTORYThe
|