_strlwr_s
, , _strlwr_s_l
, _mbslwr_s_l
_mbslwr_s
, , _wcslwr_s
_wcslwr_s_l
Convertit une chaîne en minuscules en utilisant les paramètres régionaux actifs ou un objet de paramètres régionaux transmis. Ces versions de _strlwr
, _wcslwr
_mbslwr
_strlwr_l
, , _wcslwr_l
, ont _mbslwr_l
des améliorations de sécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT.
Important
_mbslwr_s
et _mbslwr_s_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
errno_t _strlwr_s(
char *str,
size_t numberOfElements
);
errno_t _strlwr_s_l(
char *str,
size_t numberOfElements,
_locale_t locale
);
errno_t _mbslwr_s(
unsigned char *str,
size_t numberOfElements
);
errno_t _mbslwr_s_l(
unsigned char *str,
size_t numberOfElements,
_locale_t locale
);
errno_t _wcslwr_s(
wchar_t *str,
size_t numberOfElements
);
errno_t _wcslwr_s_l(
wchar_t *str,
size_t numberOfElements,
_locale_t locale
);
template <size_t size>
errno_t _strlwr_s(
char (&str)[size]
); // C++ only
template <size_t size>
errno_t _strlwr_s_l(
char (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
errno_t _mbslwr_s(
unsigned char (&str)[size]
); // C++ only
template <size_t size>
errno_t _mbslwr_s_l(
unsigned char (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
errno_t _wcslwr_s(
wchar_t (&str)[size]
); // C++ only
template <size_t size>
errno_t _wcslwr_s_l(
wchar_t (&str)[size],
_locale_t locale
); // C++ only
Paramètres
str
Chaîne se terminant par un caractère Null à convertir en minuscules.
numberOfElements
Taille de la mémoire tampon.
locale
Paramètres régionaux à utiliser.
Valeur retournée
Zéro en cas de réussite ; code d’erreur différent de zéro en cas d’échec.
Ces fonctions valident leurs paramètres. S’il str
n’s’agit pas d’une chaîne valide terminée par 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, les fonctions retournent EINVAL
et affectent à errno
la valeur EINVAL
. Si la valeur de numberOfElements
est inférieure à la longueur de la chaîne, ces fonctions retournent aussi EINVAL
et affectent à errno
la valeur EINVAL
.
Notes
La fonction _strlwr_s
convertit sur place les lettres minuscules présentes dans str
en majuscules. _mbslwr_s
est une version de caractères multioctets de _strlwr_s
. _wcslwr_s
est une version à caractères larges de _strlwr_s
.
La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE
des paramètres régionaux. Pour plus d’informations, consultez setlocale
. Les versions de ces fonctions sans le suffixe _l
utilisent les paramètres régionaux pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe _l
sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux transmis. Pour plus d’informations, consultez Locale.
En C++, l’utilisation de ces fonctions est simplifiée par les surcharges de modèle ; les surcharges peuvent déduire la longueur de la mémoire tampon automatiquement (ce qui évite d’avoir à spécifier un argument taille) et peuvent remplacer automatiquement les fonctions plus anciennes et non sécurisées par leurs équivalentes plus récentes et sécurisées. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.
Les versions de bibliothèque de débogage de ces fonctions remplissent d’abord la mémoire tampon avec 0xFE. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold
.
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 routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcslwr_s |
_strlwr_s |
_mbslwr_s |
_wcslwr_s |
_tcslwr_s_l |
_strlwr_s_l |
_mbslwr_s_l |
_wcslwr_s_l |
Spécifications
Routine | En-tête requis |
---|---|
_strlwr_s , _strlwr_s_l |
<string.h> |
_mbslwr_s , _mbslwr_s_l |
<mbstring.h> |
_wcslwr_s , _wcslwr_s_l |
<string.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_strlwr_s.cpp
// This program uses _strlwr_s and _strupr_s to create
// uppercase and lowercase copies of a mixed-case string.
//
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = "The String to End All Strings!";
char *copy1, *copy2;
errno_t err;
err = _strlwr_s( copy1 = _strdup(str), strlen(str) + 1);
err = _strupr_s( copy2 = _strdup(str), strlen(str) + 1);
printf( "Mixed: %s\n", str );
printf( "Lower: %s\n", copy1 );
printf( "Upper: %s\n", copy2 );
free( copy1 );
free( copy2 );
return 0;
}
Mixed: The String to End All Strings!
Lower: the string to end all strings!
Upper: THE STRING TO END ALL STRINGS!
Voir aussi
Manipulation de chaînes
Paramètres régionaux
Interprétation des séquences de caractères multioctets
_strupr_s
, , _strupr_s_l
, _mbsupr_s_l
_mbsupr_s
, , _wcsupr_s
_wcsupr_s_l