_mbsnbcmp, _mbsnbcmp_l
Vergleicht die ersten n Bytes von zwei Mehrbyte-Zeichenfolgen.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in Windows-Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
int _mbsnbcmp( const unsigned char *string1, const unsigned char *string2, size_t count ); int _mbsnbcmp_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale );
Parameter
string1, string2
Die Zeichenfolgen zu vergleichen.count
Die Anzahl der zu vergleichenden Bytes.locale
Das Gebietsschema zu verwenden.
Rückgabewert
Der Rückgabewert gibt die Beziehung zwischen den Teilzeichenfolgen in string1 und string an.
Rückgabewert |
Beschreibung |
---|---|
< 0 |
string1 Teilzeichenfolge ist kleiner als string2 Teilzeichenfolge. |
0 |
string1 Teilzeichenfolge ist zu string2 Teilzeichenfolge identisch. |
> 0 |
string1 Teilzeichenfolge ist größer als string2 Teilzeichenfolge. |
Auf einem Fehler gibt _mbsnbcmp_NLSCMPERROR zurück, der in String.h und in Mbstring.h definiert ist.
Hinweise
Die _mbsnbcmp-Funktion vergleicht lexikografisch höchstens die ersten count Bytes in string1 und in string2 und gibt einen Wert, der die Beziehung zwischen den Teilzeichenfolgen angibt._mbsnbcmp ist eine Groß-/Kleinschreibung Version von _mbsnbicmp.Anders als strcoll wird _mbsnbcmp nicht von Gebietsschema beeinflusst._mbsnbcmp erkennt Mehrbytezeichensequenzen entsprechend aktuellen vom Codepage.
_mbsnbcmp ähnelt _mbsncmp, außer dass _mbsncmp vergleicht Zeichenfolgen von Zeichen anstatt von Bytes.
Der Ausgabewert wird durch die LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale finden Sie weitere Informationen.Die Version dieser Funktion, die nicht das Suffix _l besitzt, wird das aktuelle Gebietsschema für dieses Verhalten abhängig; die Version, die das _l Suffix ist identisch ist, außer dass sie verwenden den Gebietsschemaparameter, der in stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Wenn entweder string1 oder string2 ein NULL-Zeiger ist, Aufrufe dieser Funktion der ungültige Parameterhandler, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt die Funktion _NLSCMPERROR zurück und errno wird zu EINVAL festgelegt.
Zuordnung generische Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität.
Beispiel
// crt_mbsnbcmp.c
#include <mbstring.h>
#include <stdio.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";
int main( void )
{
char tmp[20];
int result;
printf( "Compare strings:\n %s\n", string1 );
printf( " %s\n\n", string2 );
printf( "Function: _mbsnbcmp (first 10 characters only)\n" );
result = _mbsncmp( string1, string2 , 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
printf( "Function: _mbsnicmp _mbsnicmp (first 10 characters only)\n" );
result = _mbsnicmp( string1, string2, 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
}
Ausgabe
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown fox jumps over the lazy dog
Function: _mbsnbcmp (first 10 characters only)
Result: String 1 is greater than string 2
Function: _mbsnicmp _mbsnicmp (first 10 characters only)
Result: String 1 is equal to string 2
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l