Share via


_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l

Converte uma cadeia de caracteres em maiúsculas, usando a localidade atual ou uma localidade especificada passada. Essas versões do , , , , , _wcsuprtêm aprimoramentos de segurança, _mbsupr_l_wcsupr_l_strupr_l_mbsuprconforme descrito em Recursos de_strupr segurança na CRT.

Importante

_mbsupr_s e _mbsupr_s_l não podem ser usados em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

errno_t _strupr_s(
   char *str,
   size_t numberOfElements
);
errno_t _wcsupr_s(
   wchar_t * str,
   size_t numberOfElements
);
errno_t _strupr_s_l(
   char * str,
   size_t numberOfElements,
   _locale_t locale
);
errno_t _wcsupr_s_l(
   wchar_t * str,
   size_t numberOfElements,
   _locale_t locale
);
errno_t _mbsupr_s(
   unsigned char *str,
   size_t numberOfElements
);
errno_t _mbsupr_s_l(
   unsigned char *str,
   size_t numberOfElements,
   _locale_t locale
);
template <size_t size>
errno_t _strupr_s(
   char (&str)[size]
); // C++ only
template <size_t size>
errno_t _wcsupr_s(
   wchar_t (&str)[size]
); // C++ only
template <size_t size>
errno_t _strupr_s_l(
   char (&str)[size],
   _locale_t locale
); // C++ only
template <size_t size>
errno_t _wcsupr_s_l(
   wchar_t (&str)[size],
   _locale_t locale
); // C++ only
template <size_t size>
errno_t _mbsupr_s(
   unsigned char (&str)[size]
); // C++ only
template <size_t size>
errno_t _mbsupr_s_l(
   unsigned char (&str)[size],
   _locale_t locale
); // C++ only

Parâmetros

str
Cadeia de caracteres a ser colocada em maiúsculas.

numberOfElements
O tamanho do buffer .

locale
A localidade a ser usada.

Retornar valor

Zero se tiver êxito; um código de erro diferente de zero em caso de falha.

Essas funções validam seus parâmetros. Se str for um NULL ponteiro, o manipulador de parâmetros inválido será chamado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, essas funções retornarão EINVAL e definirão errno como EINVAL. Se numberOfElements for menor que o tamanho da cadeia de caracteres, as funções também retornarão ERANGE e definirão errno como ERANGE.

Comentários

A função _strupr_s converte, in-loco, cada letra minúscula em str em maiúsculas. _wcsupr_s é a versão de caracteres largos do _strupr_s. _mbsupr_s é a versão de caractere multibyte de _strupr_s.

A conversão é determinada pela configuração de categoria LC_CTYPE da localidade. Outros personagens não são afetados. Para obter mais informações sobre LC_CTYPEo , consulte setlocale. As versões dessas funções sem o sufixo _l usam a localidade atual; as versões com o sufixo _l são idênticas, exceto por usarem a localidade passada. Para obter mais informações, consulte Localidade.

Em C++, o uso dessas funções é simplificado pelas sobrecargas de modelo; as sobrecargas podem inferir o tamanho do buffer automaticamente (eliminando a necessidade de especificar um argumento de tamanho) e podem substituir automaticamente funções mais antigas e não seguras por suas equivalentes mais recentes e seguras. Para obter mais informações, consulte Sobrecargas de modelo seguras.

As versões de biblioteca de depuração dessas funções preenchem o buffer com 0xFE. Para desabilitar esse comportamento, use _CrtSetDebugFillThreshold.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcsupr_s _strupr_s _mbsupr_s _wcsupr_s
_tcsupr_s_l _strupr_s_l _mbsupr_s_l _wcsupr_s_l

Requisitos

Rotina Cabeçalho necessário
_strupr_s, _strupr_s_l <string.h>
_wcsupr_s, _wcsupr_s_l, _mbsupr_s, _mbsupr_s_l <string.h> ou <wchar.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Veja o exemplo de , , , , , _wcslwr_s_l_mbslwr_s_l_wcslwr_s_mbslwr_s. _strlwr_s_l_strlwr_s

Confira também

Localidade
Interpretação de sequências de caracteres multibyte
Manipulação de cadeia de caracteres
_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l