A função setlocale () em C ++ define as informações de local para o programa atual.
A função setlocale () é definida no arquivo de cabeçalho.
protótipo setlocale ()
int setlocale (int categoria, const char * locale);
A função setlocale é usada para definir uma localidade de sistema especificada para a categoria fornecida. A função setlocale também pode ser usada para consultar a localidade C atual.
Isso pode ser feito passando um ponteiro nulo no lugar da localidade.
Parâmetros setlocale ()
- categoria: especifica quais informações de local do programa são afetadas. As macros possíveis para categoria são:
Macros | Descrição |
---|---|
LC_ALL | Seleciona todas as localidades C |
LC_COLLATE | Seleção da categoria de agrupamento |
LC_CTYPE | Seleciona a categoria de classificação de personagem |
LC_MONETARY | Seleciona a categoria de formatação monetária |
LC_NUMERIC | Seleciona a categoria de formatação numérica |
LC_TIME | Seleciona a categoria de formatação de hora |
- locale: Um identificador de localidade específico do sistema. Se for um ponteiro nulo, uma chamada para setlocale () consulta a localidade C atual.
setlocale () Valor de retorno
- Em caso de sucesso, a função setlocale () retorna um ponteiro para a string que identifica a localidade C após aplicar as alterações.
- Em caso de falha, ele retorna um ponteiro nulo.
Exemplo: Como funciona a função setlocale ()?
#include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )
Quando você executa o programa, a saída será:
Localidade atual: en_US.utf8 Alterando localidade Localidade atual: en_GB.utf8