Compartir a través de


_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

Compara cadenas usando información específica de la configuración regional.

Importante

_mbsncoll y _mbsncoll_l no se pueden 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 _strncoll(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsncoll(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsncoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strncoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsncoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsncoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parámetros

string1, string2
Cadenas terminadas en NULL que se van a comparar.

count
Número de caracteres que se van a comparar.

locale
Configuración regional que se va a usar.

Valor devuelto

Cada una de estas funciones devuelve un valor que indica la relación de las subcadenas de string1 y string2, como se indica a continuación.

Valor devuelto Relación de string1 constring2
< 0 string1 es menor que string2.
0 string1 es idéntica a string2.
> 0 string1 es mayor que string2.

Cada una de estas funciones devuelve _NLSCMPERROR. Para usar _NLSCMPERROR, incluya STRING.h o MBSTRING.h. _wcsncoll puede producir un error si string1 o string2 contiene códigos de caracteres anchos que están fuera del dominio de la secuencia de intercalación. Cuando se produce un error, _wcsncoll puede establecer errno en EINVAL. Para comprobar si hay un error en una llamada a _wcsncoll, establezca errno en 0 y, a continuación, compruebe errno después de la _wcsncoll llamada.

Comentarios

Cada una de estas funciones realiza una comparación con distinción entre mayúsculas y minúsculas de los primeros count caracteres de string1 y string2 según la página de códigos que esté en uso. Use estas funciones solo cuando haya una diferencia entre el orden del juego de caracteres y el orden de caracteres lexicográficos en la página de códigos y cuando esta diferencia sea importante para la comparación de cadenas. El orden del conjunto de caracteres depende de la configuración regional. Las versiones de estas funciones que no tienen el sufijo _l usan la configuración regional actual, pero las versiones de estas funciones que tienen el sufijo _l usan la configuración regional que se pasa. Para obtener más información, vea Locale.

Todas estas funciones validan sus parámetros. Si o string1string2 es un puntero nulo, o count es mayor que INT_MAX, se invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven _NLSCMPERROR y establecen 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
_tcsnccoll _strncoll _mbsncoll _wcsncoll
_tcsncoll _strncoll _mbsnbcoll _wcsncoll

Requisitos

Routine Encabezado necesario
_strncoll, _strncoll_l <string.h>
_wcsncoll, _wcsncoll_l <wchar.h> o <string.h>
_mbsncoll, _mbsncoll_l <mbstring.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

Configuración regional
Manipulación de cadenas
Funciones strcoll
localeconv
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
setlocale, _wsetlocale
strcmp, wcscmp, _mbscmp
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l