_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l
Converte uma cadeia de caracteres em minúsculas, usando a localidade atual ou um objeto de localidade que é passado. Essas versões de _strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l têm aprimoramentos de segurança, como descrito em Recursos de segurança no CRT.
Importante
_mbslwr_s e _mbslwr_s_l não podem ser usados em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /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
Parâmetros
str
Cadeia de caracteres terminada com Null a ser convertida em minúscula.numberOfElements
O tamanho do buffer.locale
A localidade a ser usada.
Valor de retorno
Zero se tiver êxito; um código de erro diferente de zero em uma falha.
Essas funções validam seus parâmetros. Se str não é uma cadeia de caracteres com terminação nula válida, o manipulador inválido do parâmetro será chamado, conforme descrito em Validação do parâmetro . Se a execução puder continuar, as funções retornarão EINVAL e definirão errno como EINVAL. Se numberOfElements for menor que o comprimento da cadeia de caracteres, funções também EINVAL de retorno e de errno definido como EINVAL.
Comentários
A função de _strlwr_s é convertido, em lugar, letras maiúsculas em str minúsculas. _mbslwr_s é uma versão de caracteres de vários bytes de _strlwr_s._wcslwr_s é uma versão de ampla caractere de _strlwr_s.
O valor de saída é afetado pela configuração da categoria LC_CTYPE de localidade. Para obter mais informações, consulte setlocale. As versões dessas funções sem o sufixo _l usam a localidade atual para esse comportamento dependente da localidade; as versões com o sufixo _l são idênticas, exceto que elas usam o parâmetro de localidade informado. Para obter mais informações, consulte Localidade.
No C++, o uso dessas funções é simplificado por sobrecargas de modelo; as sobrecargas podem interpretar o tamanho do buffer automaticamente (eliminando a necessidade de especificar um argumento de tamanho) e podem substituir automaticamente as funções menos seguras mais antigas por correspondentes mais seguras e mais recentes. Para obter mais informações, consulte Sobrecargas de modelo seguras.
As versões de depuração dessas funções preenchem primeiro o buffer com 0xFD. Para desabilitar esse comportamento, use _CrtSetDebugFillThreshold.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcslwr_s |
_strlwr_s |
_mbslwr_s |
_wcslwr_s |
_tcslwr_s_l |
_strlwr_s_l |
_mbslwr_s_l |
_wcslwr_s_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_strlwr_s, _strlwr_s_l |
<string.h> |
_mbslwr_s, _mbslwr_s_l |
<mbstring.h> |
_wcslwr_s, _wcslwr_s_l |
<string.h> ou <wchar.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade.
Exemplo
// 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;
}
Equivalência do .NET Framework
Consulte também
Referência
Manipulação da cadeia de caracteres (CRT)
Interpretação de sequências de caracteres multibyte
_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l