Compartir a través de


_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Compara los bytes de n de dos cadenas de multibyte- carácter mediante la información de la página de códigos multibyte.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /ZW.

int _mbsnbcoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbcoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);
int _mbsnbicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parámetros

  • string1, string2
    Cadenas a comparar.

  • count
    Número de bytes que se va a comparar.

  • locale
    Configuración regional a utilizar.

Valor devuelto

El valor devuelto indica la relación de las subcadenas de string1 y de string2.

Valor devuelto

Descripción

< 0

subcadena de string1 menos que la subcadena de string2.

0

subcadena de string1 idéntica a la subcadena de string2.

> 0

subcadena de string1 mayor que la de string2.

Si string1 o string2 es NULL o count es mayor que INT_MAX, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, estas funciones _NLSCMPERROR return y errno determinado a EINVAL.Para utilizar _NLSCMPERROR, incluya String.h o Mbstring.h.

Comentarios

Cada una de estas funciones intercala, como máximo, los primeros bytes de count en string1 y string2 y devuelve un valor que indica la relación entre las subcadenas resultantes de string1 y string2.Si el byte final en la subcadena de string1 o de string2 es un byte inicial, no se incluye en la comparación; estas funciones comparan únicamente caracteres completos en las subcadenas._mbsnbicoll es una versión sin distinción entre mayúsculas y minúsculas de _mbsnbcoll.Como _mbsnbcmp y _mbsnbicmp, _mbsnbcoll y _mbsnbicoll intercalan las dos cadenas de multibyte- carácter según el orden lexicográfica especificada por multibyte página de códigos actualmente en uso.

Para algunas páginas de códigos y juegos de caracteres correspondientes, el orden de los caracteres del juego de caracteres es diferente del orden lexicográfico de caracteres.En la configuración regional “c”, éste no es el caso: el orden de los caracteres del juego de caracteres ASCII es el mismo que el orden lexicográfico de caracteres.Sin embargo, en algunas páginas de códigos europeas, por ejemplo, el carácter “a” (valor 0x61) precede el carácter “ä” (valor 0xE4) en el juego de caracteres, pero el carácter “ä” precede el carácter “a” lexicográficamente.Para realizar una comparación lexicográfica de cadenas por bytes en una instancia de, utilice _mbsnbcoll en lugar de _mbsnbcmp; para comprobar sólo la existencia de igualdad de cadena, utilice _mbsnbcmp.

Dado que las funciones de coll intercalan cadenas lexicográficamente para la comparación, mientras que las funciones de cmp prueban simplemente para la igualdad de la cadena, las funciones de coll son mucho más lentas que las versiones correspondientes de cmp.Por consiguiente, las funciones de coll deben utilizar cuando existe una diferencia entre el juego de caracteres petición y el carácter lexicográfico orden en la página de códigos actual y esta diferencia de interés para la comparación.

El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; vea setlocale para obtener más información.Las versiones de estas funciones sin el sufijo de _l utilizan la configuración regional actual para este comportamiento configuración regional-dependiente; las versiones con el sufijo de _l son idénticas salvo que utilizan el parámetro locale pasado en su lugar.Para obtener más información, vea Configuración regional.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_l

Requisitos

Rutina

Encabezado necesario

_mbsnbcoll

<mbstring.h>

_mbsnbcoll_l

<mbstring.h>

_mbsnbicoll

<mbstring.h>

_mbsnbicoll_l

<mbstring.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Vea también

Referencia

Manipulación de cadenas (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

funciones de strcoll

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l