_memicmp
, _memicmp_l
Vergleicht Zeichen in zwei Puffern (ohne Berücksichtigung der Groß- und Kleinschreibung).
Syntax
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
);
Parameter
buffer1
Erster Puffer.
buffer2
Zweite Puffer.
count
Anzahl der Zeichen.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
Der Rückgabewert gibt die Beziehung zwischen den Puffern an.
Rückgabewert | Beziehung der ersten count-Zeichen von buf1 und buf2 |
---|---|
< 0 | buffer1 kleiner alsbuffer2 . |
0 | buffer1 identisch mit buffer2 . |
> 0 | buffer1 größer alsbuffer2 . |
_NLSCMPERROR |
Ein Fehler ist aufgetreten. |
Hinweise
Die _memicmp
-Funktion vergleicht die ersten count
-Zeichen der beiden Puffer buffer1
und buffer2
Byte für Byte miteinander. Bei dem Vergleich wird die Groß-/Kleinschreibung nicht beachtet.
Wenn es sich um buffer1
buffer2
einen Nullzeiger handelt, ruft diese Funktion einen ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die Funktion _NLSCMPERROR
zurück und setzt errno
auf EINVAL
.
_memicmp
verwendet das aktuelle Gebietsschema für jedes Verhalten, das vom Gebietsschema abhängig ist; _memicmp_l
ist identisch, nur dass sie stattdessen das übergebene Gebietsschema verwendet. Weitere Informationen finden Sie unter Locale.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_memicmp |
<memory.h> oder <string.h> |
_memicmp_l |
<memory.h> oder <string.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
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" );
}
Compare 'Those Who Will Not Learn from' to 'THOSE WHO WILL NOT LEARN FROM'
First is equal to second.
Siehe auch
Pufferbearbeitung
_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