Eu coloco acentuação no comando printf mas não aparece acentuação no console do Windows
Eu coloco acentuação no comando printf mas não aparece acentuação no console do Windows
Dimas, boa tarde!
Você pode usar o <locale.h>
.
O locale.h define as configurações específicas de local, como formatos de data e símbolos de moeda.
Um exemplo de uso seria
#include <stdio.h>
#include <stdlib.h>
#include <locale.h> //necessário para usar setlocale
int main(void) {
printf("\n****** Verificando a localidade corrente ********\n\n");
printf ("Localidade corrente: %s\n", setlocale(LC_ALL,NULL) );
printf("Não é possível usar acentuação ou ç corretamente…\n\n");
printf("\n****** Alterando para a localidade do sistema ********\n\n");
//alterando para o padrão do sistema operacional
printf("A localidade corrente agora é %s \n",setlocale(LC_ALL,""));
printf("Agora não tem mais problema algum!\n");
printf("Já posso usar acentuação e também o caracter ç…\n\n\n");
system("pause");
return 0;
}
Espero ter ajudado e bons estudos!
Olá Dimas!
Por padrão o código não é compilado em UTF-8. Para contornar este problema precisamos dizer que as strings serão neste novo padrão.
Adicione a biblioteca #include <locale.h>
, depois disso, no seu método main, inclua o método para aceitar esses caracteres: setlocale(LC_ALL,"portuguese");
// bibliotecas
#include <locale.h>
int main()
{
setlocale(LC_ALL,"portuguese");
// restante do código.
}
Clique aqui para mais informações.
Espero ter ajudado! Bons estudos!
Fala Dimas, beleza?
Conseguiu resolver seu problema?
Obrigado pessoal! Problema resolvido.
Boa Dimas, vou fechar o tópico :)