Share via


_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 string1string2 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