_memicmp, _memicmp_l

2 つのバッファーの文字を比較します (大文字と小文字を区別しない)。

構文

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
);

パラメーター

buffer1
最初のバッファー。

buffer2
2 番目のバッファー。

count
文字数。

locale
使用するロケール。

戻り値

戻り値は、バッファー間の関係を示しています。

戻り値 buf1 と buf2 の最初の count バイトの関係
< 0 buffer1buffer2 より小さい。
0 buffer1buffer2 と等しい。
> 0 buffer1buffer2 より大きい。
_NLSCMPERROR エラーが発生しました。

解説

_memicmp 関数は、2 つのバッファー buffer1buffer2 の最初の count 文字をバイトごとに比較します。 比較では大文字と小文字は区別されません。

null ポインターのbuffer1buffer2場合、この関数は「パラメーターの検証」で説明されているように、無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、関数は _NLSCMPERROR を返し、errnoEINVAL に設定します。

_memicmp は、ロケールに依存する動作に現在のロケールを使用します。_memicmp_l は、渡されたロケールを代わりに使用することを除いて同じです。 詳細については、「 Locale」を参照してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください

必要条件

ルーチンによって返される値 必須ヘッダー
_memicmp <memory.h> または <string.h>
_memicmp_l <memory.h> または <string.h>

互換性の詳細については、「 Compatibility」を参照してください。

// 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.

関連項目

バッファー操作
_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