_lfind
지정 된 키에 대 한 선형 검색을 수행합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. see _lfind_s.
void *_lfind(
const void *key,
const void *base,
unsigned int *num,
unsigned int width,
int (__cdecl *compare)(const void *, const void *)
);
매개 변수
key
개체를 검색할 수 있습니다.base
데이터 검색의 기본에 대 한 포인터입니다.num
배열 요소 수입니다.width
배열 요소의 너비입니다.compare
비교 루틴에 대 한 포인터입니다.첫 번째 매개 변수는 검색에 대 한 키에 대 한 포인터입니다.두 번째 매개 변수는 키와 비교 하는 배열 요소에 대 한 포인터입니다.
반환 값
키가 있으면 _lfind 배열의 요소에 대 한 포인터를 반환 base 와 동일한 key.해당 키가 없는 경우 _lfind 반환 NULL.
설명
_lfind 함수 값에 대 한 선형 검색을 수행 key 배열에 있는 num 의 각 요소를 width 바이트입니다.달리 bsearch, _lfind 배열을 정렬 하려면 필요 하지 않습니다.base 인수에 대 한 포인터의 배열 검색할 수 있습니다.compare 인수는 배열 요소 두 개를 비교 하 여 다음 간의 관계를 지정 하는 값을 반환 하는 사용자 제공 루틴에 대 한 포인터입니다._lfind호출을 compare 일상적인 여러 번 각 호출에서 두 배열 요소에 포인터를 전달 하는 검색 하는 동안.compare 루틴 요소를 비교 하 고 있는 요소는 서로 다른 즉 0이 아닌 값을 반환 해야 또는 0 (요소를 동일한 수 없음).
이 함수의 매개 변수의 유효성을 검사 합니다.경우 compare, key 또는 num 입니다 NULL, 또는 base NULL입니다 및 *num 0이 아닙니다 경우 width 가 0 보다 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행을 계속 수 있으면 errno 으로 설정 EINVAL 함수를 반환 하 고 NULL.
요구 사항
루틴 |
필수 헤더 |
---|---|
_lfind |
<search.h> |
더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_lfind.c
// This program uses _lfind to search a string array
// for an occurrence of "hello".
#include <search.h>
#include <string.h>
#include <stdio.h>
int compare(const void *arg1, const void *arg2 )
{
return( _stricmp( * (char**)arg1, * (char**)arg2 ) );
}
int main( )
{
char *arr[] = {"Hi", "Hello", "Bye"};
int n = sizeof(arr) / sizeof(char*);
char **result;
char *key = "hello";
result = (char **)_lfind( &key, arr,
&n, sizeof(char *), compare );
if( result )
printf( "%s found\n", *result );
else
printf( "hello not found!\n" );
}
해당 .NET Framework 항목
System::Collections::ArrayList:: 포함