Olá,
Comecei o curso de C agora pouco, instalei o GCC como recomendado e comecei a seguir o código das primeiras aulas.
Notei que, em Windows, printf
com palavras acentuadas imprime caracteres estranhos, uma vez que o código está em UTF-8 e o prompt do Windows usa ANSI.
Procurando pela web, encontrei uma recomendação de como alterar a página de código do prompt para imprimir os caracteres. Achei, porém, um pouco longo demais, como podem ver:
#include <stdio.h>
#include <locale.h>
#include <windows.h>
int main() {
// Define o valor das páginas de código UTF8 e default do Windows
UINT CPAGE_UTF8 = 65001;
UINT CPAGE_DEFAULT = GetConsoleOutputCP();
// Define codificação como sendo UTF-8
SetConsoleOutputCP(CPAGE_UTF8);
// PROGRAMA : INICIO
// --------------------------------------------------------------------
printf("Bem vindo ao nosso jogo de adivinhação");
// PROGRAMA : FINAL
// --------------------------------------------------------------------
// Retorna codificação padrão do Windows
SetConsoleOutputCP(CPAGE_DEFAULT);
}
Digo longo não pelos comentários e etc., mas pelo fato de precisar do locale.h
e windows.h
.
Seria esta a melhor forma para imprimir os caracteres especiais no prompt do Windows?
Obrigado. :P