Aracılığıyla paylaş


_memicmp, _memicmp_l

İki arabellekteki karakterleri karşılaştırır (büyük/küçük harfe duyarsız).

Sözdizimi

int _memicmp(
   const void *buffer1,
   const void *buffer2,
   size_t count
);
int _memicmp_l(
   const void *buffer1,
   const void *buffer2,
   size_t count,
   _locale_t locale
);

Parametreler

buffer1
İlk arabellek.

buffer2
İkinci arabellek.

count
Karakter sayısı.

locale
Kullanılacak yerel ayar.

Dönüş değeri

Dönüş değeri, arabellekler arasındaki ilişkiyi gösterir.

Dönüş değeri buf1 ve buf2'nin ilk sayı baytlarının ilişkisi
< 0 buffer1 değerinden buffer2küçüktür.
0 buffer1 ile buffer2aynıdır.
> 0 buffer1 değerinden büyük buffer2.
_NLSCMPERROR Bir hata oluşmuştur.

Açıklamalar

işlevi, _memicmp iki arabelleğin ilk count karakterlerini ve buffer2 bayt baytını karşılaştırırbuffer1. Karşılaştırma büyük/küçük harfe duyarlı değildir.

buffer1 Veya buffer2 null işaretçiyse, bu işlev Parametre doğrulama bölümünde açıklandığı gibi geçersiz bir parametre işleyicisi çağırır. Yürütmenin devam etmesi için izin verilirse, işlevi döndürür _NLSCMPERROR ve olarak EINVALayarlanırerrno.

_memicmp yerel ayara bağımlı davranış için geçerli yerel ayarı kullanır; _memicmp_l , bunun yerine geçirilen yerel ayarı kullanması dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
_memicmp <memory.h> veya <string.h>
_memicmp_l <memory.h> veya <string.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// crt_memicmp.c
// This program uses _memicmp to compare
// the first 29 letters of the strings named first and
// second without regard to the case of the letters.

#include <memory.h>
#include <stdio.h>
#include <string.h>

int main( void )
{
   int result;
   char first[] = "Those Who Will Not Learn from History";
   char second[] = "THOSE WHO WILL NOT LEARN FROM their mistakes";
   // Note that the 29th character is right here ^

   printf( "Compare '%.29s' to '%.29s'\n", first, second );
   result = _memicmp( first, second, 29 );
   if( result < 0 )
      printf( "First is less than second.\n" );
   else if( result == 0 )
      printf( "First is equal to second.\n" );
   else if( result > 0 )
      printf( "First is greater than second.\n" );
}
Compare 'Those Who Will Not Learn from' to 'THOSE WHO WILL NOT LEARN FROM'
First is equal to second.

Ayrıca bkz.

Arabellek işleme
_memccpy
memchr, wmemchr
memcmp, wmemcmp
memcpy, wmemcpy
memset, wmemset
_stricmp, _wcsicmp, _mbsicmp, , _stricmp_l, _wcsicmp_l, _mbsicmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, , _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l