English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C Linguagem de Programação Base Tutorial

Controle de fluxo de linguagem C

Função C

Array C

Ponteiro C

String C

Estrutura de linguagem C

Arquivo de linguagem C

Outro C

Manual de referência do C

Biblioteca de C - Uso e exemplo da função setlocale()

Biblioteca Padrão - <locale.h>

Descrição

Biblioteca de C char *setlocale(int category, const char *(locale) Definir ou ler informações regionalizadas.

Declaração

A seguir está a declaração da função setlocale().

char *setlocale(int category, const char *(locale)

parâmetro

  • 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.

Retorno

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.

Exemplo online

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

Biblioteca Padrão - <locale.h>