Freigeben über


_memicmp, _memicmp_l

Vergleicht zwei Zeichen in Puffern (ohne Berücksichtigung von Groß- und Kleinschreibung).

int _memicmp(
   const void *buf1,
   const void *buf2,
   size_t count 
);
int _memicmp_l(
   const void *buf1,
   const void *buf2,
   size_t count,
   _locale_t locale
);

Parameter

  • buf1
    Erster Puffer.

  • buf2
    Zweite Puffer.

  • count
    Anzahl von Zeichen.

  • locale
    Der zu verwendende Gebietsschema.

Rückgabewert

Der Rückgabewert gibt die Beziehung zwischen den Puffer an.

Rückgabewert

Beziehung der ersten Zählbytes buf1 und buf2

< 0

buf1 kleiner als buf2.

0

buf1 identisch mit buf2.

> 0

buf1 ist größer als buf2.

_NLSCMPERROR

Ein Fehler ist aufgetreten.

Hinweise

Die _memicmp-Funktion vergleicht die ersten beiden Zeichen der count Puffer buf1 und des buf2 Bytes in Byte.Beim Vergleich wird die Groß- und Kleinschreibung nicht berücksichtigt.

Wenn entweder buf1 oder buf2 ein NULL-Zeiger ist, Aufrufe dieser Funktion ein ungültiger Parameter für, wie in Parametervalidierungbeschrieben.Wenn die Ausführung ermöglicht wird, um fortzufahren, gibt die Funktion _NLSCMPERROR zurück und legt ihn fest. EINVALzu errno

_memicmp verwendet das aktuelle Gebietsschema für gebietsschemaabhängiges Verhalten. _memicmp_l ist identisch, mit der Ausnahme, dass sie verwendet das Gebietsschema, das Stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.

Anforderungen

Routine

Erforderlicher Header

_memicmp

<memory.h> oder <string.h>

_memicmp_l

<memory.h> oder <string.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Beispiel

// 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" );
}
  

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Puffer-Manipulation

_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