_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l
Convertit une chaîne en minuscules, en utilisant les paramètres régionaux actuels ou un objet de paramètres régionaux qui est passé. Ces versions _strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l présentent des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.
Important
_mbslwr_s et _mbslwr_s_l ne peuvent pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.
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 de caractères terminée par le caractère NULL à convertir en minuscules.numberOfElements
Taille de la mémoire tampon.locale
Paramètres régionaux à utiliser.
Valeur de retour
Zéro si l'opération a réussi ; code d'erreur non nul en cas d'échec.
Ces fonctions valident leurs paramètres. Si str n'est pas une chaîne de caractères valide terminée par le caractère NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, les fonctions retournent -1 EINVAL et attribuent à errno la valeur EINVAL. Si numberOfElements est inférieure à la longueur de la chaîne de caractère, les fonctions retournent également EINVAL et attribuent à errno la valeur EINVAL.
Notes
La fonction _strlwr_s convertit, sur place, toutes les lettres majuscules dans str en minuscules. _mbslwr_s est une version multioctet du caractère _strlwr_s._wcslwr_s est une version à caractère large 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 ; consultez setlocale, pour plus d'informations. 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 Paramètres régionaux.
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 debug de ces fonctions remplissent d'abord la mémoire tampon avec 0xFD. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold.
Mappages de routines de texte générique
Routine TCHAR.H |
_UNICODE & _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 |
Configuration requise
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 Compatibilité.
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;
}
Équivalent .NET Framework
Voir aussi
Référence
Interprétation des séquences de caractères multioctets
_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l