1
resposta

Mais dúvidas sobre acentuação

Apesar de ter seguido as orientações encontradas aqui acerca da acentuação de palavras, como descrito abaixo, os caracteres continuam sendo impressos com uma configuração estranha. Existe alguma outra solução para isso ou algo a mais que deve ser feito?

#include <stdio.h>
#include <locale.h>

int main(void){

    setlocale(LC_ALL, "Portuguese");

    printf("Agora é possível usar acentuação ou ç corretamente…\n");    
}
1 resposta

Olá Rafael.

Fiz uma busca e descobri que quando o setlocate não funciona está relacionado com o console do Windows e o encoding que traduz os byte de uma maneira que não funciona para caracteres como ç e com acentuação.

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main(void){

    setlocale(LC_ALL, "Portuguese");

    wprintf(L"Agora é possível usar acentuação ou ç corretamente…\n");    
}

A alternativa que encontrei foi em um tópico no stackoverflow, onde o autor da resposta explica em detalhes a situação e recomenda o uso da função wprintf invés do convencional printf, essa função é detalhada na documentação, mas basicamente ela muda a representação do seus caracteres para o console.

Espero que funcione para você, bons estudos.