Localidade
Localidade refere-se às configurações de país/região e idioma que você pode usar para personalizar o seu programa. Algumas categorias dependentes da localidade incluem os formatos de exibição para datas e valores monetários. Para obter mais informações, consulte Categorias de localidade.
Use a função setlocale
para alterar ou consultar algumas ou todas as informações atuais de localidade de thread ou de programa durante o uso de funções sem o sufixo_l
. As funções com o _l
sufixo usará o parâmetro de localidade passado para suas informações de localidade durante a execução dessa função específica apenas. Para criar uma localidade para usar com uma função com um sufixo _l
, use _create_locale
. Para liberar essa localidade, use _free_locale
. Para obter a localidade atual, use _get_current_locale
.
Use _configthreadlocale
para controlar se cada thread tem sua própria localidade ou se todos os threads em um programa compartilham a mesma localidade. Para obter mais informações, consulte Localidades e páginas de código.
As versões mais seguras das funções na tabela a seguir estão disponíveis, indicadas pelo sufixo _s
("secure"). Para obter mais informações, consulte Recursos de segurança no CRT.
Rotinas dependentes de localidade
Rotina | Usar | setlocale dependência de configuração de categoria |
---|---|---|
atof , _atof_l , _wtof , _wtof_l |
Converter caractere em valor de ponto flutuante | LC_NUMERIC |
atoi , _atoi_l , _wtoi , _wtoi_l |
Converter caractere em valor inteiro | LC_NUMERIC |
_atoi64 , _atoi64_l , _wtoi64 , _wtoi64_l |
Converter caractere em valor inteiro de 64 bits | LC_NUMERIC |
atol , _atol_l , _wtol , _wtol_l |
Converter caractere em valor longo | LC_NUMERIC |
_atodbl , _atodbl_l , _atoldbl , _atoldbl_l , _atoflt , , _atoflt_l |
Converter caractere em valor longo duplo | LC_NUMERIC |
Rotinas is e isw |
Testar determinado inteiro para uma condição em particular. | LC_CTYPE |
isleadbyte , _isleadbyte_l |
Teste de byte inicial | LC_CTYPE |
localeconv |
Ler os valores apropriados para a formatação de quantidades numéricas | LC_MONETARY, LC_NUMERIC |
MB_CUR_MAX |
Comprimento máximo em bytes de qualquer caractere multibyte na localidade atual (macro definida no STDLIB.H ) |
LC_CTYPE |
_mbccpy , _mbccpy_l ,_mbccpy_s , _mbccpy_s_l |
Copiar um caractere multibyte | LC_CTYPE |
_mbclen , mblen , _mblen_l |
Validar e retornar número de bytes em caractere multibyte | LC_CTYPE |
strlen , wcslen , _mbslen , _mbslen_l , _mbstrlen , , _mbstrlen_l |
Para cadeias de caracteres multibyte: validar cada caractere na cadeia de caracteres; Retornar o comprimento da cadeia de caracteres | LC_CTYPE |
mbstowcs , _mbstowcs_l ,mbstowcs_s , _mbstowcs_s_l |
Converter uma sequência de caracteres multibyte em uma sequência de caracteres largos correspondente | LC_CTYPE |
mbtowc , _mbtowc_l |
Converter um caractere multibyte em um caractere largo correspondente | LC_CTYPE |
Funções printf |
Gravar saída formatada | LC_NUMERIC (determina a saída de caracteres de base) |
Funções scanf |
Ler entrada formatada | LC_NUMERIC (determina o reconhecimento de caracteres de base) |
setlocale , _wsetlocale |
Selecionar localidade para o programa | Não aplicável |
strcoll , wcscoll , _mbscoll , _strcoll_l , _wcscoll_l , , _mbscoll_l |
Comparar caracteres de duas cadeias de caracteres | LC_COLLATE |
_stricmp , _wcsicmp , _mbsicmp , _stricmp_l , _wcsicmp_l , , _mbsicmp_l |
Comparar duas cadeias de caracteres sem considerar as maiúsculas e minúsculas | LC_CTYPE |
_stricoll , _wcsicoll , _mbsicoll , _stricoll_l , _wcsicoll_l , , _mbsicoll_l |
Comparar caracteres de duas cadeias de caracteres (não diferencia maiúsculas de minúsculas) | LC_COLLATE |
_strncoll , _wcsncoll , _mbsncoll , _strncoll_l , _wcsncoll_l , , _mbsncoll_l |
Comparar n primeiros caracteres de duas cadeias de caracteres |
LC_COLLATE |
_strnicmp , _wcsnicmp , _mbsnicmp , _strnicmp_l , _wcsnicmp_l , , _mbsnicmp_l |
Comprar caracteres de duas cadeias de caracteres sem considerar as maiúsculas e minúsculas. | LC_CTYPE |
_strnicoll , _wcsnicoll , _mbsnicoll , _strnicoll_l , _wcsnicoll_l , , _mbsnicoll_l |
Comparar n primeiros caracteres de duas cadeias de caracteres (diferencia maiúsculas de minúsculas) |
LC_COLLATE |
strftime , wcsftime , _strftime_l , _wcsftime_l |
Formatar valor de data e hora de acordo com o argumento format fornecido |
LC_TIME |
_strlwr , _wcslwr , _mbslwr , _strlwr_l , _wcslwr_l , _mbslwr_l _strlwr_s_l _mbslwr_s_l _mbslwr_s _strlwr_s _wcslwr_s ,_wcslwr_s_l |
Converter, no local, cada letra maiúscula em determinada cadeia de caracteres em minúsculas | LC_CTYPE |
strtod , _strtod_l , wcstod , _wcstod_l |
Converter cadeia de caracteres no valor double |
LC_NUMERIC (determina o reconhecimento de caracteres de base) |
strtol , wcstol , _strtol_l , _wcstol_l |
Converter cadeia de caracteres no valor long |
LC_NUMERIC (determina o reconhecimento de caracteres de base) |
strtoul , _strtoul_l , wcstoul , _wcstoul_l |
Converter cadeia de caracteres do caractere em valor longo unsigned | LC_NUMERIC (determina o reconhecimento de caracteres de base) |
_strupr , _strupr_l , _mbsupr , _mbsupr_l , _wcsupr_l , _wcsupr _strupr_s_l _mbsupr_s_l _mbsupr_s _strupr_s _wcsupr_s ,_wcsupr_s_l |
Converter, no local, cada letra minúscula em cadeia de caracteres em maiúsculas | LC_CTYPE |
strxfrm , wcsxfrm , _strxfrm_l , _wcsxfrm_l |
Transformar cadeia de caracteres em formato agrupado de acordo com a localidade | LC_COLLATE |
tolower , _tolower , towlower , _tolower_l , _towlower_l ,_mbctolower _mbctolower_l _mbctoupper _mbctoupper_l |
Converter determinado caractere no caractere minúsculo correspondente | LC_CTYPE |
toupper , _toupper , towupper , _toupper_l , _towupper_l ,_mbctolower _mbctolower_l _mbctoupper _mbctoupper_l |
Converter determinado caractere na letra minúscula correspondente | LC_CTYPE |
wcstombs , _wcstombs_l ,wcstombs_s , _wcstombs_s_l |
Converter cadeia de caracteres largos na cadeia de caracteres multibyte correspondente | LC_CTYPE |
wctomb , _wctomb_l ,wctomb_s , _wctomb_s_l |
Converter caractere largo no caractere multibyte correspondente | LC_CTYPE |
Observação
Para rotinas multibyte, a página de código multibyte deve ser equivalente à localidade definida com setlocale
. _setmbcp
, com um argumento _MB_CP_LOCALE
faz com que a página de código multibyte fique igual à página de código setlocale
.
Confira também
Internacionalização
Rotinas de runtime C universais por categoria