_mbsnbicmp
, _mbsnbicmp_l
Compara n bytes de dos cadenas de caracteres multibyte, sin distinción de mayúsculas y minúsculas.
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 en aplicaciones de la Plataforma universal de Windows.
Sintaxis
int _mbsnbicmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
Parámetros
string1
, string2
Cadenas terminadas en NULL que se van a comparar.
count
Número de bytes que se van a comparar.
Valor devuelto
El valor devuelto indica la relación entre las subcadenas.
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, _mbsnbicmp
devuelve _NLSCMPERROR
, que se define en String.h y Mbstring.h.
Comentarios
La función _mbsnbicmp
realiza una comparación ordinal de, a lo sumo, los primeros count
bytes de string1
y string2
. La comparación se realiza mediante la conversión de cada carácter a minúscula. _mbsnbcmp
es una versión de _mbsnbicmp
que distingue entre mayúsculas y minúsculas. La comparación finaliza si se llega a un carácter nulo de terminación en una de las cadenas antes de que se comparen count
caracteres. Si las cadenas son iguales cuando se llega a un carácter nulo de terminación en una de las cadenas antes de que se comparen count
caracteres, la cadena más corta es menor.
_mbsnbicmp
es similar a _mbsnbcmp
, salvo por que compara cadenas hasta los count
bytes, en lugar de caracteres.
Dos cadenas que contienen caracteres ubicados entre 'Z' y 'a' en la tabla ASCII ('[', '\', ']', '^', '_' y ''') se comparan de forma diferente, dependiendo de su caso. Por ejemplo, las dos cadenas "ABCDE" y "ABCD^" comparan una manera si la comparación está en minúsculas ("abcde" > "abcd^") y la otra manera ("ABCDE" < "ABCD^") si está en mayúsculas.
_mbsnbicmp
reconoce las secuencias de caracteres multibyte de acuerdo con la página de códigos multibyte actualmente en uso. No se ve afectado por la configuración regional actual.
Si o string1
string2
es un puntero nulo, _mbsnbicmp
invoca el controlador de parámetros no válidos, tal como se describe en Validación de parámetros. Si la ejecución puede continuar, la función devuelve _NLSCMPERROR
y establece en errno
en EINVAL
.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignaciones de rutinas de texto genérico
Rutina Tchar.h | _UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsnicmp_l |
_strnicmp_l |
_mbsnbicmp_l |
_wcsnicmp_l |
Requisitos
Routine | Encabezado necesario |
---|---|
_mbsnbicmp |
<mbstring.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
Consulte el ejemplo de _mbsnbcmp
, _mbsnbcmp_l
.
Consulte también
Manipulación de cadenas
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_stricmp
, _wcsicmp
, _mbsicmp
, _stricmp_l
, , _wcsicmp_l
, _mbsicmp_l