_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l
Converte una stringhe in caratteri minuscoli. Sono disponibili versioni più sicure di queste funzioni; vedere _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l.
Importante
_mbslwr e _mbslwr_l non possono essere utilizzate nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.
char *_strlwr(
char * str
);
wchar_t *_wcslwr(
wchar_t * str
);
unsigned char *_mbslwr(
unsigned char * str
);
char *_strlwr_l(
char * str,
_locale_t locale
);
wchar_t *_wcslwr_l(
wchar_t * str,
_locale_t locale
);
unsigned char *_mbslwr_l(
unsigned char * str,
_locale_t locale
);
template <size_t size>
char *_strlwr(
char (&str)[size]
); // C++ only
template <size_t size>
wchar_t *_wcslwr(
wchar_t (&str)[size]
); // C++ only
template <size_t size>
unsigned char *_mbslwr(
unsigned char (&str)[size]
); // C++ only
template <size_t size>
char *_strlwr_l(
char (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
wchar_t *_wcslwr_l(
wchar_t (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
unsigned char *_mbslwr_l(
unsigned char (&str)[size],
_locale_t locale
); // C++ only
Parametri
str
Stringa con terminazione null per la conversione in lettere minuscole.locale
Impostazioni locali da utilizzare.
Valore restituito
Ognuna di queste funzioni restituisce un puntatore alla stringa convertita. Poiché la modifica viene eseguita sul posto, il puntatore restituito sarà lo stesso del puntatore passato come argomento di input. Nessun valore restituito è riservato per indicare un errore.
Note
La funzione _strlwr converte tutte le lettere maiuscole in str in lettere minuscole come stabilito dalle impostazione di categoria LC_CTYPE delle impostazioni locali. Altri caratteri non sono interessati. Per ulteriori informazioni su LC_CTYPE, vedere setlocale. Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; le versioni con il suffisso _l sono identiche, ad eccezione del fatto che utilizzano il parametro delle impostazioni locali che viene passato. Per ulteriori informazioni, vedere Impostazioni locali.
Le funzioni _mbslwr e _wcslwr sono versioni a caratteri wide e caratteri multibyte di _strlwr. L'argomento e il valore restituito di _wcslwr sono stringhe di caratteri di tipo "wide", quelli di _mbslwr sono stringhe di caratteri multibyte. Altrimenti queste tre funzioni si comportano in modo identico.
Se str è un puntatore NULL, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni restituiscono la stringa originale e impostano errno su EINVAL.
In C++, queste funzioni presentano overload dei modelli che richiamano le relative controparti sicure e più recenti. Per ulteriori informazioni, vedere Overload di modelli sicuri.
Mapping di routine su testo generico
Routine TCHAR.H |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcslwr |
_strlwr |
_mbslwr |
_wcslwr |
_tcslwr_l |
_strlwr_l |
_mbslwr_l |
_wcslwr_l |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_strlwr, _strlwr_l |
<string.h> |
_wcslwr, _wcslwr_l |
<string.h> o <wchar.h> |
_mbslwr, _mbslwr_l |
<mbstring.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// crt_strlwr.c
// compile with: /W3
// This program uses _strlwr and _strupr to create
// uppercase and lowercase copies of a mixed-case string.
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[100] = "The String to End All Strings!";
char * copy1 = _strdup( string ); // make two copies
char * copy2 = _strdup( string );
_strlwr( copy1 ); // C4996
// Note: _strlwr is deprecated; consider using _strlwr_s instead
_strupr( copy2 ); // C4996
// Note: _strupr is deprecated; consider using _strupr_s instead
printf( "Mixed: %s\n", string );
printf( "Lower: %s\n", copy1 );
printf( "Upper: %s\n", copy2 );
free( copy1 );
free( copy2 );
}