_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. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the 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
Puffermanipulation
_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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für