_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

Compara el número de caracteres especificado de dos cadenas sin distinción entre mayúsculas y minúsculas.

Importante

_mbsnicmp y _mbsnicmp_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 _strnicmp(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsnicmp(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsnicmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strnicmp_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicmp_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsnicmp_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

Indica la relación entre las subcadenas, como se muestra a continuación.

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.

En un error de validación de parámetros, estas funciones devuelven _NLSCMPERROR, que se define en <string.h> y <mbstring.h>.

Comentarios

La _strnicmp función compara, como máximo, los primeros count caracteres de string1 y string2. La comparación se realiza sin distinguir entre mayúsculas y minúsculas, ya que todos los caracteres se convierten a minúsculas. _strnicmp es una versión sin distinción entre mayúsculas y minúsculas de strncmp. 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.

Los caracteres de 91 a 96 en la tabla ASCII ('[', '\', ']', '^', '_' y ''') se evalúan como menos que cualquier carácter alfabético. Esta ordenación es idéntica a la de stricmp.

_wcsnicmp y _mbsnicmp son versiones de caracteres anchos y multibyte de _strnicmp. Los argumentos de son cadenas de _wcsnicmp caracteres anchos. Los argumentos de son cadenas de _mbsnicmp caracteres multibyte. _mbsnicmp reconoce secuencias de caracteres multibyte según la página actual de códigos multibyte y devuelve _NLSCMPERROR cuando se produce un error. Para obtener más información, vea Páginas de códigos. Estas tres funciones se comportan exactamente igual. Estas funciones se ven afectadas por la configuración regional. Las versiones que no tienen el sufijo _l usan la configuración regional local para el comportamiento que depende de la configuración regional; las versiones que sí tienen el sufijo _l utilizan la locale pasada. Para obtener más información, vea Locale.

Todas estas funciones validan sus parámetros. Si o string1string2 es un puntero nulo, se invoca el 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
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Requisitos

Routine Encabezado necesario
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> o <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

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

Ejemplo

Vea el ejemplo de strncmp.

Consulte también

Manipulación de cadenas
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
strspn, wcsspn, _mbsspn, _mbsspn_l