Existem situações onde precisamos adaptar um programa às características de um determinado idioma ou de uma região. Isso é chamado de “localizar” um programa. A linguagem C utiliza o arquivo de cabeçalho locale.h para implementar a chamada “localização”.

Veremos dois exemplos para permitir suporte a língua portuguesa. A utilização da biblioteca locale.h  e da função setlocale() configurada adequadamente vai garantir que caracteres como “ç” e acentuação gráficas sejam exibidos normalmente em nossos programas.



Vamos aos exemplos práticos:

Vejamos um primeiro exemplo onde a localidade padrão do sistema operacional não está definida no código, por este motivo acontecem erros ao exibir caracteres especiais e acentuação gráfica. Veja imagem abaixo:

Perceba, na imagem acima, a forma como são exibidos os caracteres especiais e acentuação gráfica. Agora, configuraremos o idioma para português, utilizando a função:

setlocale(LC_ALL, “Portuguese”);

Veja imagem a seguir:

Conhecendo a função setlocale do arquivo de cabeçalho locale.h

Utilizamos a função setlocale() para fazer a adaptação do programa ao idioma desejado.

Esta adaptação trata de informações sobre a apresentação de alguns dados, tais como:

– Caracteres e acentuação específicos do idioma.

– Formato de números e valores monetários

– Formatação de data e hora

Um programa escrito em C é iniciado com a localização-padrão “neutra” de acordo com o padrão ISO. Esta localização  contém informações mínimas a fim de proporcionar uma execução consistente independente do ambiente.

A função setlocale() pode ser usada para modificar essa localização para outra desejada e que seja adequada ao idioma usado no programa.

Sintaxe:

setlocale(int categoria, const char *local)

onde:

categoria é a categoria a ser modificada ou consultada.

local é uma string que vai corresponder a uma localidade que será atribuída a uma categoria representada pelo argumento categoria.

Para utilizar a localização especificada para o idioma português usamos a função setlocale() da seguinte forma:

setlocale(LC_ALL, “Portuguese”);, onde LC_ALL faz referência à todos os aspectos da localização. Como a função foi usada com a string “Portuguese” a localização foi configurada como português.

Outra opção é utilizar a localidade especificada pelo sistema operacional. Para isso usamos a função setlocale() da seguinte forma:

set locale(LC_ALL,””);, onde LC_ALL faz referência à todos os aspectos da localização. Como a função foi usada com a string “” a localização foi configurada com o padrão do sistema operacional.

Esta opção é interessante pois é mais portável já que funciona bem em qualquer sistema operacional.





Entre no grupo do Telegram para receber as dicas de cursos que estão gratuitos e ainda ficar por dentro das promoções da Udemy.

Clique na imagem para acessar o grupo.

Clique aqui para curtir a página Programação Prática no Facebook.

Clique aqui para inscrever-se no Canal Programação Prática no YouTube.

Até a próxima postagem! 🙂




0 comentários

Deixe um comentário

Avatar placeholder

O seu endereço de email não será publicado. Campos obrigatórios marcados com *