Aracılığıyla paylaş


_lsearch_s

Bir değeri doğrusal bir arama gerçekleştirir.Bir sürümü _lsearch açıklandığı gibi güvenlik geliştirmeleri ile CRT'deki Güvenlik Özellikleri.

void *_lsearch_s(
   const void *key,
   void *base,
   unsigned int *num,
   size_t size,
   int (__cdecl *compare)(void *, const void *, const void *),
   void * context
);

Parametreler

  • key
    Aramak için nesne.

  • base
    Aranacak dizi tabanı için işaretçi.

  • num
    Öğe sayısı.

  • size
    Her dizi öğesinin bayt cinsinden boyutu.

  • compare
    Karşılaştırma yordamı için işaretçi.İkinci parametre, arama için anahtar bir işaretçidir.Üçüncü parametre anahtarı ile karşılaştırılmak üzere bir dizi öğesine bir işaretçidir.

  • context
    Karşılaştırma işlevi erişilen bir nesneye bir işaretçi.

Dönüş Değeri

key Bulunan _lsearch_s dizi öğesine bir işaretçi döndürür base uyan key.key Bulunamazsa, _lsearch_s dizinin sonundaki yeni eklenen öðe için bir işaretçi döndürür.

İşleve geçersiz parametre belirtilmediyse, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Yürütme devam, sonra izin veriliyorsa, errno ayarlamak EINVAL işlevini verir ve NULL.Daha fazla bilgi için bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.

Hata koşulları

key

base

compare

num

size

errno

NULL

herhangi bir

herhangi bir

herhangi bir

herhangi bir

EINVAL

herhangi bir

NULL

herhangi bir

!= 0

herhangi bir

EINVAL

herhangi bir

herhangi bir

herhangi bir

herhangi bir

sıfır

EINVAL

herhangi bir

herhangi bir

NULL

bir

herhangi bir

EINVAL

Notlar

_lsearch_s İşlevi gerçekleştirir değeri doğrusal arama key bir dizi içinde num öğeleri, her biri width bayt.Aksine bsearch_s, _lsearch_s dizi sıralanmasını gerektirmez.key , Sonra bulunamadı _lsearch_s artırır ve dizi sonuna ekler num.

compare İki dizi öğeleri karşılaştırır ve aralarındaki ilişkiyi belirleyen bir değer döndüren bir kullanıcı tarafından sağlanan yordamı için bir işaretçi bir işlevdir.compare İşlev işaretçisi içerik ilk bağımsız değişken olarak da alır._lsearch_sÇağrı compare işaretçileri için iki dizi öğelerinin her çağrıda geçirerek, arama sırasında bir veya daha çok kez.compareöğeleri karşılaştırmak ve ya da dönmek gerekir sıfır (öğeleri farklı olduğu anlamına gelir) veya 0 (öğeleri aynı olduğu anlamına gelir).

context İşaretçiyi nesnenin bir bölümünü Aranan veri yapısı ise faydalı olabilir ve compare işlevi nesnesinin üyelerini erişim gerekiyor.Örneğin, kod compare işlevi uygun nesne türü ve erişim üyelerine o nesnenin void işaretçi artığını.Ayrıca context işaretçi yapar _lsearch_s daha güvenli veri kullanılabilir hale getirmek için statik değişkenler kullanımıyla ilişkili yeniden kullanılabilirlik hataları önlemek için ek içerik kullanılabilir çünkü compare işlevi.

Gereksinimler

Yordamı

Gerekli başlık

_lsearch_s

<search.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Arama ve Sıralama

bsearch_s

_lfind_s

_lsearch