English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Biblioteca Padrão - <locale.h>
Biblioteca de C char *setlocale(int category, const char *(locale) Definir ou ler informações regionalizadas.
A seguir está a declaração da função setlocale().
char *setlocale(int category, const char *(locale)
category -- Esta é uma constante nomeada que especifica o tipo de função afetada pelo conjunto de caracteres regional.
LC_ALL Inclui todas as opções abaixo.
LC_COLLATE Comparação de strings. Veja strcoll().
LC_CTYPE Classificação e conversão de caracteres. Por exemplo, strtoupper().
LC_MONETARY Formato monetário, para localeconv().
LC_NUMERIC Separador decimal, para localeconv().
LC_TIME Formato de data e hora, para strftime().
LC_MESSAGES Resposta do sistema
locale -- Se o locale for NULL ou uma string vazia "", o nome da configuração regional será definido com base no valor da variável de ambiente, cujo nome é o mesmo que os nomes das categorias acima.
Se a chamada setlocale() for bem-sucedida, retornará uma string opaca correspondente ao conjunto de caracteres da configuração regional. Se a solicitação for inválida, o valor retornado será NULL.
O exemplo a seguir demonstra o uso da função setlocale().
#include <locale.h> #include <stdio.h> #include <time.h> int main() { time_t currtime; struct tm *timer; char buffer[80]; time(&currtime); timer = localtime(&currtime); printf("O ambiente de linguagem é: %s\n", setlocale(LC_ALL, "en_GB.UTF");-8); strftime(buffer,80,"%c", timer); printf("A data é: %s\n", buffer); printf("O ambiente de linguagem é: %s\n", setlocale(LC_ALL, "de_DE.UTF");-8); strftime(buffer,80,"%c", timer); printf("A data é: %s\n", buffer); return(0); }
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado:
Ambiente de Linguagem é: en_GB A Data é: Thu 13 Aug 2011 06:39:32 MST Local é: de_DE A Data é: Do 13 Aug 2011 06:39:32 MST