_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

Compare le nombre spécifié de caractères de deux chaînes sans tenir compte de la casse.

Important

_mbsnicmp et _mbsnicmp_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.

Syntaxe

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
);

Paramètres

string1, string2
Chaîne terminée par Null à comparer.

count
Nombre de caractères à comparer.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Indique la relation entre les sous-chaînes, comme suit.

Valeur retournée Description
< 0 La sous-chaîne de string1 est inférieure à la sous-chaîne de string2.
0 La sous-chaîne de string1 est identique à la sous-chaîne de string2.
> 0 La sous-chaîne de string1 est supérieure à la sous-chaîne de string2.

Sur une erreur de validation de paramètre, ces fonctions retournent _NLSCMPERROR, qui est définie dans <string.h> et <mbstring.h>.

Notes

La _strnicmp fonction compare, au plus, les premiers count caractères de string1 et string2. La comparaison est effectuée sans tenir compte de la casse, en convertissant chaque caractère en minuscule. _strnicmp est une version de strncmp respectant la casse. La comparaison se termine si un caractère null de fin est atteint dans l'une ou l'autre des chaînes avant que count caractères soient comparés. Si les chaînes sont égales quand un caractère null de fin est atteint dans l'une ou l'autre des chaînes avant que count caractères soient comparés, la chaîne la plus courte est considérée comme étant inférieure.

Les caractères compris entre 91 et 96 dans la table ASCII ('[', '\', ']', '^', '_'et ''') sont inférieurs à n’importe quel caractère alphabétique. Ce classement est identique à celui de stricmp.

_wcsnicmp et _mbsnicmp sont des versions à caractères larges et à caractères multioctets de _strnicmp. Les arguments de _wcsnicmp ces chaînes sont des chaînes à caractères larges. Les arguments de _mbsnicmp ce sont des chaînes de caractères multioctets. _mbsnicmp reconnaît les séquences de caractères multioctets selon la page de codes multioctets active et retourne _NLSCMPERROR en cas d'erreur. Pour plus d’informations, consultez Pages de codes. Ces trois fonctions se comportent sinon de façon identique. Ces fonctions sont affectées par les paramètres régionaux : les versions qui n'ont pas le suffixe _l utilisent les paramètres régionaux actuels pour leur comportement dépendant des paramètres régionaux et les versions qui ont le suffixe _l utiliser le paramètre locale qui est passé en entrée. Pour plus d’informations, consultez Locale.

Toutes ces fonctions valident leurs paramètres. Si l’un string1 ou l’autre string2 est un pointeur Null, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent _NLSCMPERROR et définissent errno avec la valeur EINVAL.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routine de texte générique

Routine TCHAR.H _UNICODE et _MBCS non défini _MBCS Défini _UNICODE Défini
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Spécifications

Routine En-tête requis
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> ou <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

Consultez l’exemple pour strncmp.

Voir aussi

Manipulation de chaîne
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