_mbsnbcmp, _mbsnbcmp_l
Compara los primeros n bytes de dos cadenas de caracteres multibyte.
Importante
Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas con /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 );
Parámetros
string1, string2
Las cadenas que se comparan.count
El número de bytes que se compara.locale
Configuración regional que se va a usar.
Valor devuelto
El valor devuelto indica la relación ordinal entre las subcadenas de string1 y string.
Valor devuelto |
Descripción |
---|---|
< 0 |
La subcadena string1 es menor que la subcadena string2. |
0 |
La subcadena string1 es idéntica a la subcadena string2. |
> 0 |
La subcadena string1 es mayor que la subcadena string2. |
Si se produce un error de validación de parámetros, _mbsnbcmp y _mbsnbcmp_l devuelven _NLSCMPERROR, que se define en <string.h> y <mbstring.h>.
Comentarios
Las funciones _mbsnbcmp comparan a lo sumo los primeros count bytes en string1 y string2, y devuelven un valor que indica la relación entre las subcadenas. _mbsnbcmp es una versión de _mbsnbicmp que distingue entre mayúsculas y minúsculas. A diferencia de _mbsnbcoll, _mbsnbcmp no se ve afectado por el orden de intercalación de la configuración regional. _mbsnbcmp reconoce secuencias de caracteres multibyte según la actual página de códigos multibyte.
_mbsnbcmp es similar a _mbsncmp, salvo que _mbsncmp compara las cadenas por caracteres y no por bytes.
El valor de salida se ve afectado por la categoría LC_CTYPE de la configuración regional, que especifica los bytes iniciales y finales bytes de los caracteres multibyte. Para obtener más información, vea setlocale. La función _mbsnbcmp usa la configuración regional actual para este comportamiento dependiente de dicha configuración. La función _mbsnbcmp_l es idéntica, salvo que usa el parámetro locale. Para obtener más información, consulta Configuración regional.
Si string1 o string2 son un puntero nulo, estas funciones invocan el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, las funciones devuelven _NLSCMPERROR y errno se establece en EINVAL.
Asignaciones de rutina de texto genérico
Rutina Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Requisitos
Rutina |
Encabezado necesario |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Para obtener más información de compatibilidad, vea Compatibilidad.
Ejemplo
// 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 );
}
Salida
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
Equivalente en .NET Framework
No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, consulta Ejemplos de invocación de plataforma.
Vea también
Referencia
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l