Olá, senhores!
Venho aqui novamente para pedir-lhes ajuda em um problema que eu estou tendo no meu programa. Seguinte, estou querendo utilizar a biblioteca "locale.h" para poder imprimir as strings com acentuação. Então eu implementei a mesma no meu código e para a minha surpresa (ou não), ela não funcionou, continuou imprimindo no padrão C. Criei um pequeno código exemplificando a maneira que eu fiz para implementar a biblioteca e sua funcionalidade no meu programa original:
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("antes da localização\n");
setlocale(LC_ALL, "Portuguese");
//setlocale(LC_ALL, "");
printf("localização atual: %s\n", setlocale(LC_ALL, "Portuguese"));
printf("depois da localização\n");
return EXIT_SUCCESS;
}
Saída:
antes da localização
localização atual: Portuguese_Brazil.1252
depois da localização
Como vocês podem ver, a função está implementando o idioma "Portuguese_Brazil" mas mesmo assim o comportamento de impressão permanece o mesmo. Se alguém puder me explicar o motivo disso estar acontecendo ou apontar aonde estou errando, ficaria muito agradecido!
OBS: Na função setlocale(), eu testei tanto o argumento "Portuguese" como "" e ambos deram o mesmo resultado.