반응형
#include <stdlib.h> void *lfind(const void *key, const void *base, size_t *num, size_t width, int (*fcmp)(const void *, const void *)); |
lfind 함수는 연속된 레코드의 배열(array)에서 key로 지정된 인수값의 선형 검색을 수행합니다.
이 함수는 사용자 정의 비교 함수(fcmp)를 사용합니다.
배열은 메모리 위치가 base 에서부터 시작되고, width 바이트 만큼의 넓이를 가진 *num 개의 레코드를 갖습니다.
lfind 함수는 검색키와 일치하는 첫 번째 값의 주소를 반환합니다. 만약 일치하는 값을 찾지 못하면 NULL을 반환합니다.
참고: bsearch, qsort, lsearch
#include <stdio.h>
#include <stdlib.h>
int compare(int* x, int* y)
{
return (*x - *y);
}
int main()
{
int arr[5] = { 55, 44, 33, 99, 11 };
int key = 99;
int size = 5;
int* result;
result = (int *)_lfind(&key, arr, &size, sizeof(int),
(int(*)(const void*, const*, const void*))compare);
if(result)
printf("%d: 찾았습니다.\n", key);
else
printf("%d: 찾지못 했습니다.\n", key);
return 0;
}
반응형
'C_C++ > C_라이브러리_함수' 카테고리의 다른 글
(C언어) max,min: 두 수 중에서 큰 수 또는 작은 수를 구한다 (0) | 2023.02.20 |
---|---|
(C언어) log, log10: 자연로그, 상용로그 값을 구한다 (0) | 2023.02.20 |
(C언어) kbhit: 키보드의 키가 눌러졌는지 검사한다 (0) | 2023.02.16 |
(C언어) itoa, ltoa: 정수를 문자열로 변환한다 (0) | 2023.02.16 |
(C언어) isxdigit: 16진수 문자인지를 확인합니다 (0) | 2023.02.15 |