다음을 통해 공유


_lsearch

값에 대 한 선형 검색을 수행합니다. 발견 되지 않으면 목록 끝에 추가 합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. 참조 하십시오 _lsearch_s.

void *_lsearch(
   const void *key,
   void *base,
   unsigned int *num,
   unsigned int width,
   int (__cdecl *compare)(const void *, const void *) 
);

매개 변수

  • key
    개체를 검색할 수 있습니다.

  • base
    포인터의 배열 검색 합니다.

  • num
    요소의 수입니다.

  • width
    각 배열 요소의 너비입니다.

  • compare
    비교 루틴에 대 한 포인터입니다.첫 번째 매개 변수는 검색에 대 한 키에 대 한 포인터입니다.두 번째 매개 변수는 키와 비교 하 여 배열 요소에 대 한 포인터입니다.

반환 값

키가 있으면 _lsearch 배열의 요소에 대 한 포인터를 반환 base 와 동일한 key.해당 키가 없는 경우 _lsearch 배열의 끝에 새로 추가 된 항목에 대 한 포인터를 반환 합니다.

설명

_lsearch 함수 값에 대 한 선형 검색을 수행 key 배열에 있는 num 의 각 요소를 width 바이트입니다.달리 bsearch, _lsearch 배열을 정렬 하려면 필요 하지 않습니다.경우 key 찾을 수 없습니다 _lsearch 배열 및 간격의 끝에 추가 num.

compare 인수는 배열 요소 두 개를 비교 하 고 서로의 관계를 지정 하는 값을 반환 하는 사용자 제공 루틴에 대 한 포인터입니다._lsearch호출을 compare 일상적인 여러 번 각 호출에서 두 배열 요소에 포인터를 전달 하는 검색 하는 동안.compare요소를 비교 하 고 하나를 반환 해야 0이 아닌 (요소가 다른 수 없음) 또는 0 (요소를 동일한 수 없음).

이 함수의 매개 변수의 유효성을 검사 합니다.경우 compare, key 또는 num 입니다 NULL, 또는 base NULL입니다 및 *num 0이 아닙니다 경우 width 가 0 보다 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행을 계속 수 있으면 errno 으로 설정 EINVAL 함수를 반환 하 고 NULL.

요구 사항

루틴

필수 헤더

_lsearch

<search.h>

더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_lsearch.c
#include <search.h>
#include <string.h>
#include <stdio.h>

int compare( const void *arg1, const void *arg2 );

int main(void)
{
   char * wordlist[4] = { "hello", "thanks", "bye" };
                            // leave room to grow...
   int n = 3;
   char **result;
   char *key = "extra";
   int i;

   printf( "wordlist before _lsearch:" );
   for( i=0; i<n; ++i ) printf( " %s", wordlist[i] );
   printf( "\n" );

   result = (char **)_lsearch( &key, wordlist, 
                      &n, sizeof(char *), compare );

   printf( "wordlist after _lsearch:" );
   for( i=0; i<n; ++i ) printf( " %s", wordlist[i] );
   printf( "\n" );
}

int compare(const void *arg1, const void *arg2 )
{
   return( _stricmp( * (char**)arg1, * (char**)arg2 ) );
}
  

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

검색 및 정렬

b 검색

_lfind

_lsearch_s