Partager via


_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