1
resposta

[Dúvida] [DÚVIDA] Acentuação de Caracteres em C

Estou tentando utilizar caracteres acentuados em C, entretanto não consigo de forma alguma, mesmo utilizando a biblioteca locale.h e configurando o meu sistema operacional (Windows 11 Pro) e meu terminal para utilizar UTF-8. Já fiz testes utilizando CLion, VsCode e tentando rodar o código direto no terminal. Fiz a instalação do compilador e o setup do VsCode conforme os dois tutoriais a seguir: https://www.freecodecamp.org/news/how-to-install-c-and-cpp-compiler-on-windows/ e https://www.freecodecamp.org/news/how-to-write-and-run-c-cpp-code-on-visual-studio-code/

Segue o código abaixo com prints:

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

int main() {
    setlocale(LC_ALL, "Portuguese");
    printf("Teste de acentuação, vamos ver irá dar certo mesmo!\n");
    return 0;
}

Tentativa de execução do código no CLion: Tentativa de execução do código no CLion

Tentativa de execução do código no VsCode: Tentativa de execução do código no VsCode

Charset do Powershell: Charset do Powershell

1 resposta

Boa noite João.

Por uma questão de boas práticas, faça tudo sem acentuação na programação. Mais pra frente, quando vc mexer com SQL, verá que se o caractere estiver acentuado dará um erro cabuloso e dará problema na tabela.

Uma possível (e algo que te recomendo) solução é: faça dual boot na sua máquina. Fiz na minha e agora tenho o Win 11 + Linux Mint que usarei pra programar. Determinados programas como o Wamp preciso do Windows, mas quero migrar em definitivo pro Linux por ser um S.O. próprio pra programadores + vc se acostuma + com terminais - algo que usaremos o tempo todo. No Windows, raramente vc usa.

Fica a dica. Ah, e se decidir fazer dual boot peça ajuda pra um amigo que mexe com Hardware ou se informe em sites gringos. Em português, a galera bate muita cabeça blz?

Tudo de bom e bons estudos! :)