Acentuação no Prompt de Comando usando C++ no Visual Studio 2022

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 124

  • @JudSan
    @JudSan  Год назад +4

    Pessoal, recentemente descobri uma forma mais simples de resolver o problema no Visual Studio. Por padrão, o executável usa o código de página do sistema, que no nosso caso é o 1252. O código de páginas padrão do prompt de comandos é o 850. Por isso temos problemas na acentuação. Então, em vez de mudarmos o código de página do prompt de comandos para 1252, uma outra solução é mudar o código de página do nosso executável para 850.
    Isso pode ser feito passando uma opção ao compilador. No Visual Studio 2022, isso pode ser feito indo no menu: Projeto > Propriedades > Propriedades de Configuração > C/C++ > Command Line. Em "Additional Options" acrescente: "/execution-charset:.850" sem as aspas. Observe que tem um ponto antes do número 850. Isso resolve o problema. O único inconveniente é ter que fazer isso em todos os projetos. É uma configuração do projeto e não do Visual Studio em si.
    No Linux, o compilador g++ tem opções semelhantes para indicar o charset do código fonte (-finput-charset) e do executável gerado (-fexec-charset). Por exemplo, para aceitar um código escrito no windows usando o charset 1252, podemos fazer "g++ -finput-charset=windows-1252". Esse pode ser um caminho para implementar a mesma solução no Linux, caso necessário. Tipicamente esse problema não se manifesta no Linux porque a maioria dos editores e o compilador já usam a codificação UTF-8 por padrão.

    • @franciscohelves
      @franciscohelves 6 месяцев назад

      Professor qual a sua opinião sobre fazer a configuração no windows 11 na qual vc vai para
      painel de controle > alterar formatos de data, hora ou número > administrativo > alterar localidade do sistema
      na qual vc habilitar o utf-8 de forma global.

    • @JudSan
      @JudSan  6 месяцев назад

      @@franciscohelves Eu já testei e não resolveu o problema. Mas na época era uma opção experimental. Pra você resolveu o problema?

    • @franciscohelves
      @franciscohelves 6 месяцев назад

      Sério porque eu testei aqui e funcionou, ainda não tive problemas.

    • @JudSan
      @JudSan  6 месяцев назад

      @@franciscohelves Tente ler algum texto acentuado e exibir para ver se funciona:
      char texto[20];
      cin >> texto; // digita "coração"
      cout

    • @franciscohelves
      @franciscohelves 6 месяцев назад

      @@JudSan Acabei de testa isso no terminal é funciona .Não confie na minha palavra , Crie um maquina virtual instalar o windows 11 e testa nele vai da certo👌👌

  • @anamariadocarmo4948
    @anamariadocarmo4948 3 месяца назад +1

    Muito obrigada, Mestre! Já quebrei muito a cabeça por causa disso. Deus abençoe.

    • @JudSan
      @JudSan  3 месяца назад +2

      @@anamariadocarmo4948 No comentário fixado tem um método novo que descobri depois de gravar o vídeo. Não deixe de dar uma olhada :)

  • @jaimefrancisco3437
    @jaimefrancisco3437 2 года назад +4

    Boa professor.
    C++ sempre foi minha linguagem predileta. A primeira foi FORTRAN.
    Tenho aprendido cada vez mais aqui no canal.
    Seu trabalho com agente é incrível.
    Parabéns.

    • @JudSan
      @JudSan  2 года назад

      Valeu Jaime. É sempre uma felicidade saber que o material está sendo útil.

  • @fabiolasantos7266
    @fabiolasantos7266 8 месяцев назад +1

    Não costumo comentar em vídeos no YT, mas eu tinha a obrigação de te agradecer! Fiquei muito tempo passando raiva antes de chegar no seu vídeo, mudei no editor de registro e funcionou, muito obrigada!

    • @JudSan
      @JudSan  8 месяцев назад +1

      Valeu Fabíola. Algum tempo depois que eu gravei esse vídeo, descobri um outro método que não precisa alterar o registro, exige apenas configurar o projeto do Visual Studio. Coloquei os detalhes no comentário fixado desse vídeo. No futuro vou fazer um vídeo atualizado com essa solução.

  • @josegil8526
    @josegil8526 Год назад

    Obrigado pela ajuda. Problema resolvido, como tentei aplicar tudo o que encontrava pela Internet, mudei varias configurações na IDE (muitas mesmo!) e pelo visto ao abri o projeto a IDE as carregava novamente fazendo com que não funciona-se. Como em outro projeto que fiz funcionou, resolvi criar um novo projeto onde colei todas as linhas de código do projeto anterior. Feito isso funcionou perfeitamente.
    SetConsoleCP(1252);
    SetConsoleOutputCP(1252);
    👍

    • @JudSan
      @JudSan  Год назад +1

      É José, tem uns 10 anos que procuro por soluções para esse problema. Até agora esse foi o melhor que eu encontrei.

  • @Joaojplm
    @Joaojplm 2 года назад +3

    Gostei, agora não preciso mais passar raiva com estes problemas de acentuação. Muito bom finalmente ver o porque o problema ocorre e como resolver da forma certa. Obrigado.

    • @JudSan
      @JudSan  2 года назад +1

      Valeu João Paulo. Eu inclusive já reportei esse problema ao time da Microsoft. E eles reconheceram o problema, mas aparentemente a solução não é simples ou não é prioridade.

    • @PinoDev
      @PinoDev 2 года назад

      Agora sabemos a causa

  • @GercinoJr
    @GercinoJr Год назад

    Olá pessoal, primeiramente gostaria de parabenizar ao professor pelo vídeo.
    Muito informativo!
    Vim adicionar mais algumas informações ao contexto desse vídeo.
    Eu fiz alguns testes:
    Executei o compilador do visual studio pelo terminal (sim é possível!).
    Usei um editor de códigos com capacidade de definir/trocar a codificação
    dos caracteres do arquivo. Usei o geany.
    Código de testes:
    cout nome;
    cout save with encode...
    E para ler um arquivo com encode é só clicar no arquivo com o botão direito
    ( dentro do solution explorer) e escolher Open With...
    Tive a mesma constatação anterior.
    Então para mim ficou claro que, além dos problemas do ambiente windows expostos no
    vídeo do professor, também existem barreiras dentro do editor de código do VS.
    Veja que usei a palavra "barreiras" pois acredito que é intencional. Os motivos para
    isso podem ser diversos, mas a falta de capacidade técnica não é um deles.
    Por fim deixei de brigar com Visual Studio e estou usando a ótima solução que
    o professor nos proporcionou no post fixado ("/execution-charset:.850").

    • @JudSan
      @JudSan  Год назад +2

      Bacana Gercino. Eu não sabia que dava para mudar a codificação do arquivo indo em "Salvar Como".
      Recentemente postei um Bug Report sobre esse problema da acentuação junto a Microsoft e um membro da equipe do Visual Studio, que trabalha especificamente com a implementação do C++ na IDE, me respondeu. Ele reconheceu o problema mas disse que era impossível corrigir sem quebrar incontáveis programas que "se adaptaram" a forma como a codificação e os Code Pages foram inicialmente implementados no Windows.
      Ele deu uma esperança para o futuro, informando que a nova função "print" que está vindo no C++23 usa obrigatoriamente Unicode e que ela não sofrerá desses problemas. Não ficaremos totalmente livres disso enquanto não introduzirem também uma nova função de leitura, mas já é alguma coisa.
      Obrigado pela contribuição e apoio.

    • @GercinoJr
      @GercinoJr Год назад +1

      @@JudSan E com isso, ficamos sabendo o motivo das barreiras 🙂

  • @andreduartebueno
    @andreduartebueno Год назад +1

    Boa noite professor Judson. Muito bacana seus vídeos.
    Eu praticamente só uso GNU/Linux a mais de 30 anos e este problema também ocorre com o GNU/Linux e demais sistemas operacionais. Então, como também temos este problema, gostaria de ajudar com dois pontos, que talvez possam ajudar.
    1) O primeiro é a codificação de caracteres usada na edição e no terminal.
    O que ocorre é que quando digitamos o texto num editor de texto comum (ou numa IDE), o mesmo esta usando uma determinada codificação de caracteres, por exemplo, UTF-8 que é a mais utilizada hoje em dia no GNU/Linux.
    Então, uma frase como "Olá, tudo bem!", que tem o acento no 'á', só irá aparecer corretamente na saída do terminal se estivermos usando no terminal a mesma codificação de caracteres que usamos no editor de texto.
    Se no editor de texto uso UTF-8 e o terminal esta configurado para UTF-8, a saída será com os acentos corretos.
    Se no editor de texto uso UTF-8 e o terminal esta configurado para ISO8859-1 (latin 1), a saída irá apresentar um erro.
    Se no editor de texto uso ISO8859-1 (latin 1) e o terminal esta configurado para UTF-8, a saída irá apresentar um erro.
    E isto vale para qualquer sistema operacional.
    Note que quando salvo o arquivo com outro nome, normalmente, os editores de texto permitem que eu mude a codificação de caracteres. Então, uma solução para o problema é verificar a codificação que tenho no terminal e usar a mesma no editor.
    Outra opção é colocar o terminal com a mesma codificação de caracteres do editor (é o que você faz quando usa o comando chcp 1252 que altera a página de código do console ativo deixando igual a do seu editor).
    A IDE do vs-code mostra na barra de status a codificação de caracteres (canto direito). Se clicar com o mouse nesta parte da barra de tarefas o vs-code pergunta se quer salvar ou reabrir o arquivo com outra codificação.
    O mesmo ocorre com os navegadores de internet, as vezes um email vem com caracteres estranhos. Isto ocorre porque houve alguma falha na conversão das tabelas de codificação. Posso ir na configuração do navegador mudar a codificação e, se acertar, os textos vão aparecer com os acentos corretos.
    2) O segundo ponto é que programas feitos em C++ usam a localidade padrão da linguagem que é std::locale::classic(), normalmente a localidade "C".
    Então, em nossos programas, quando pedimos para o usuário entrar com um valor numérico, como um double x; o usuário entra com o valor "1.234". Usa o ponto como separador e não a virgula porque na localidade "C" o padrão é o ponto.
    Eu posso verificar a localidade usada pelo meu programa em C++ usando:
    cout

    • @JudSan
      @JudSan  Год назад

      Olá André. Obrigado pela sua postagem super detalhada e completa. Na minha busca por uma solução pra esse problema da acentuação eu acabei aprendendo um pouco sobre essa questão da codificação e do locale. Ainda assim, a sua postagem foi bastante esclarecedora pra mim. Ajudou a organizar as informações na minha cabeça.
      Acho que no Linux você não tem mais esse problema da codificação nos dias atuais. Os editores mais usados e os terminais modernos usam UTF-8 e acentuam sem nenhum problema.
      A minha busca é por uma solução no Windows. E a melhor solução que eu achei até hoje ainda é, digamos, insatisfatoria. Principalmente pra quem está tentando ensinar C++ no Windows. Ter que explicar todos esses detalhes pra um novato que está começando a aprender programação é muito pesado.
      Queria muito que a Microsoft resolvesse isso. O VS2022 usa essas variações da codificação ASCII e não dá pra alterar sua codificação padrão. No VSCode até dá pra mudar, mas quando você fecha e abre ele novamente volta pro padrão, que é UTF8. Nenhum dos editores usa a codificação do terminal. A melhor solução que encontrei foi mudar a codificação do terminal, mas eu queria muito não ter que fazer isso. Isso é problema pra se tratar lá na frente, no dia que estivermos pensando em internacionalização, não no primeiro dia de aula quando os alunos descobrem que "Olá Mundo" não acentua :/

    • @andreduartebueno
      @andreduartebueno Год назад

      @@JudSan Perfeita sua colocação; é realmente complicado logo no início ter de falar de codificação. E isto vale para todos os sistemas operacionais e linguagens de programação, já passou da hora de padronizarem!

  • @rodrigosvieirarodrigues9137
    @rodrigosvieirarodrigues9137 2 года назад +1

    passando um ano me irritando com esse erro (tinha abandonado os estudos de c e c++) e resolvi tentar procurar solução melhor, apareceu esse vídeo muito bom! Obrigado mesmo! E é impressionante como ninguém comenta sobre esse problema nos cursos pagos que tem por aí...

    • @JudSan
      @JudSan  2 года назад

      Valeu Rodrigo. A maioria não aborda provavelmente porque não sabe. Levei muito tempo pra descobrir tudo que está no vídeo. Também porque só afeta a saída no prompt e normalmente as pessoas passam pouco tempo lá. O ruim é que afeta essa fase importante de aprendizado da linguagem e dá aquela má impressão logo de cara. Mas C++ é muito importante e se quiser assistir um curso bom, tenho um gratuito no meu canal, confere lá. Eu acho que você não vai encontrar nada melhor, nem pagando.

  • @PinoDev
    @PinoDev 2 года назад +2

    Esse vídeo ficou TOP demais. Descreveu vários tipos de solução e as suas implicações. Riqueza de conteúdo 👏🏻👏🏻👏🏻

    • @JudSan
      @JudSan  2 года назад

      Valeu Pino 👍

  • @LEANDROALVESBUFFON-xt8xk
    @LEANDROALVESBUFFON-xt8xk Год назад

    Canal fantástico! A qualidade do vídeo é excepcional! A explicação rápida e prática. Parabéns pelo conteúdo!

    • @JudSan
      @JudSan  Год назад

      Obrigado Leandro

  • @jacobsongloriaferreira1940
    @jacobsongloriaferreira1940 Год назад

    Valeu, Judson Realmente não se encontra na internet. Estou relmente grato.

    • @JudSan
      @JudSan  Год назад

      Valeu Jacobson 👍

  • @edgardmacfadden2372
    @edgardmacfadden2372 Год назад

    Demorei 2h pra encontrar o problema, esse vídeo é muito útil

    • @JudSan
      @JudSan  Год назад +1

      Só 2h... então tá bom hehehe. Valeu Edgard.

  • @armond75
    @armond75 Год назад

    Ótima dica. Finalmente a solução desse problema.

    • @JudSan
      @JudSan  Год назад

      Valeu. No comentário fixado tem mais uma que não está no vídeo.

  • @is_cabral7986
    @is_cabral7986 2 года назад +7

    Judson, tu devia criar cursos de C++ do básico ao avançado profissional pagos, detalhando tudo sobre a linguagem e emitir certificados...

    • @JudSan
      @JudSan  2 года назад +7

      Pois é. Ainda alimento a esperança de que as pessoas interessadas nesse tipo de conteúdo vão viabilizar a distribuição gratuita aqui pelo RUclips. Seria tão melhor pra todo mundo... vou apostar nisso até onde der pra eu ir. Se não rolar, aí vejo outras alternativas.

    • @tapiocaferoz02
      @tapiocaferoz02 2 года назад +1

      Faço questão de apoiar, pois aqui ja encontrei mais conteudo de valor do que nos varios cursos que comprei (e por valores mais altos). Se todos pensassem assim, os "cursos" seriam consequencia...

    • @JudSan
      @JudSan  2 года назад +3

      @@tapiocaferoz02 Obrigado Tiago. Eu também penso assim. Gosto de apoiar aquilo que quero que continue existindo. Por exemplo, faço questão de comprar meus livros, mesmo quando existem outras formas de acesso.

    • @PinoDev
      @PinoDev 2 года назад

      @@tapiocaferoz02 compartilho do mesmo pensamento, Tiago.

    • @noviqueneto4731
      @noviqueneto4731 2 года назад

      Eu sempre vou apoiar canais como esse de Judson, pois tem informações que não encontra com facilidade na internet em português!

  • @cidgianni
    @cidgianni 2 года назад +1

    Olá Prof Judson... obrigado por mais estas dicas.

    • @JudSan
      @JudSan  2 года назад

      Valeu Aparecido. 👍

  • @tapiocaferoz02
    @tapiocaferoz02 2 года назад +1

    Otimas dicas, obrigado por mais um excelente conteudo professor

    • @JudSan
      @JudSan  2 года назад

      Valeu Tiago.

  • @smartboybr2657
    @smartboybr2657 2 года назад +1

    Salvo para o futuro . Precisei esses dias mas fiquei com preguiça de procurar, kkkkk. Pior q passei raspando pela solução 3 e não me liquei.

    • @JudSan
      @JudSan  2 года назад +1

      É o tipo de conteúdo que agente só se importa quando precisa hehehe.

  • @adelmarquetavares
    @adelmarquetavares 6 месяцев назад

    Muito bons os seu vídeos. Como uso o VS Code, a solução que eu testei foi a 3, mas não funcionou. Vou deixar sem acentuar mesmo. Obrigado mesmo assim.

    • @JudSan
      @JudSan  6 месяцев назад +1

      No comentário em destaque tem uma solução nova, que descobri após a gravação do vídeo. Talvez ela funcione para você. Basta descobrir a opção equivalente do seu compilador.

    • @adelmarquetavares
      @adelmarquetavares 6 месяцев назад

      @@JudSan, eu vi, mas não dei bola justamente por não ter funcionado a opção 3 do vídeo. Mas vou tentar essa. Obrigado.

  • @wesleyaguiarlopes
    @wesleyaguiarlopes Год назад +1

    Judson, ótima aula, bacana de mais!
    Por favor, me tira uma dúvida?
    Em 6:13 "Não portável para outras plataformas", quer dizer que da erro ou que será ignorado, em outras plataformas?

    • @JudSan
      @JudSan  Год назад +1

      Olá. Não portável porque estou usando uma função de uma biblioteca (win32) que só está disponível no Windows. Não tem essa biblioteca no Linux ou Mac. Ela é a biblioteca usada para criar janelas no Windows, construída e disponibiliza pela Microsoft apenas no sistema Windows.

    • @wesleyaguiarlopes
      @wesleyaguiarlopes Год назад +1

      @@JudSan Caso eu coloque a biblioteca no meu projeto em Windows e futuramente tente rodar em Linux, só vai ser ignorado, então a biblioteca, certo, ou vai dar erro dizendo que não encontrou?

    • @JudSan
      @JudSan  Год назад +1

      @@wesleyaguiarlopes Vão dar erro dizendo que a biblioteca não foi encontrada.
      Para evitar esse tipo de erro, quando temos código específico para uma plataforma, usamos #ifdefs. Exemplo:
      #ifdef _WIN32
      // código aqui
      #endif
      Assim, em outras plataformas, o código dentro do #ifdef será ignorado.

    • @wesleyaguiarlopes
      @wesleyaguiarlopes Год назад

      @@JudSan Show, bom saber, então é aplicada uma condição pra validar se é Windows. Obrigado mesmo Judson 🙏

    • @JudSan
      @JudSan  Год назад +1

      @@wesleyaguiarlopes Isso. Dá pra usar o mesmo esquema pra verificar se seu código está rodando no Linux ou Mac. Tem só que ver qual o nome correto pra por ali no #ifdef.

  • @martinsjunior2010
    @martinsjunior2010 Год назад

    Muito boa a explicação

    • @JudSan
      @JudSan  Год назад

      Valeu! Não deixa de ver o comentário fixado porque nele tem informações mais recentes sobre a acentuação.

  • @JoaoVitor-st9pg
    @JoaoVitor-st9pg 2 года назад +1

    Solução 3 funcionou aqui, mas tive que trocar o enconding nas configurações do VS-CODE para Western (ISO 8859-1)

    • @JudSan
      @JudSan  2 года назад +1

      Eu nunca tinha testado essa solução no VS Code. Obrigado por compartilhar João. 👍

  • @ledsonvanini7421
    @ledsonvanini7421 2 года назад

    Muito interessante a profundidade da sua pesquisa. Já pensou em criar um curso voltado para aplicações 'Console' em C++?

    • @JudSan
      @JudSan  2 года назад +1

      Oi ledson. Quando você fala em curso voltado para "aplicações console", você quer dizer ensinar como fazer aplicações que desenham janelas e usam botões dentro do console? Porque um curso C++ que usa o console, eu já tenho no meu canal, na playlist Programação de Computadores.

    • @ledsonvanini7421
      @ledsonvanini7421 2 года назад

      @@JudSan obrigado pela resposta. Me refiro a fazer aplicações Console com foco em manipulações de funções do sistema, árvores de pastas, manipulações de arquivos etc.

    • @JudSan
      @JudSan  2 года назад +3

      @@ledsonvanini7421 Ah tá, entendi. Eu posso dizer que nunca pensei nisso. Na minha área de atuação nunca senti essa necessidade. Em todo caso acredito que meu curso de C++ já fornece as ferramentas básicas pra fazer essas aplicações: mostro como manipular arquivos texto e binário, mostro como ler dados de vários tipos pelo teclado, mostro como exibir dados na tela em vários formatos... fazer essas aplicações seria só questão de aplicar tudo que eu já ensino. Não sei se você já conhece o curso. Se sim, me diz o que você acha que está faltando pra chegar nesse ponto que você gostaria. Se não conhece, dá uma conferida lá. 👍

    • @adalbertopereira898
      @adalbertopereira898 2 года назад

      @@JudSan falta foco c++ com win32 😁🤪

    • @JudSan
      @JudSan  2 года назад +1

      @@adalbertopereira898 Ah tá. Quem sabe um dia hehehe. O bom da Win32 é que não temos problema com acentos. 😄

  • @cidgianni
    @cidgianni 2 месяца назад

    Prof Judson, fiz download e instalei o VS2022 no meu Dell antigo com Win10 atualizado.
    Executei o exemplo abaixo e o chcp 1252 não fez efeito, mas funcionava.
    Tenho vários exemplos com telas de print confirmando.
    Poderia executar o exemplo abaixo em seu computador, e informar o resultado?
    Muito Obrigado.
    #include
    using namespace std;
    int main() {
    system("chcp 1252 > nul");
    cout

    • @JudSan
      @JudSan  2 месяца назад

      Aqui o resultado foi "coração", com os acentos aparecendo normalmente.

  • @rafaelgoncalves98s
    @rafaelgoncalves98s 2 года назад

    Olá, Judson Santiago!
    Boa tarde!
    Essas soluções servem para quem está programando em linguagem c pelo visual studio code?

    • @JudSan
      @JudSan  2 года назад

      Olá, se for usando o prompt de comandos do Windows, sim. Mas em C a função da primeira solução se chama setlocale. As demais devem funcionar sem alteração.

  • @crazycoder9356
    @crazycoder9356 2 года назад

    Eu não tô conseguindo fazer o input e o output de acentos funcionarem ao mesmo tempo.
    Quando eu coloco setlocale(LC_ALL, "pt_BR.UTF-8"'); ELE FAZ O OUTPUT CERTO DE PALAVRAS ACENTUADAS.
    Quando eu coloco o system("chcp 1252 > nul"); ele faz o input de palavras acentuadas corretamente.
    Mas quando eu coloco os 2 juntos não funciona, isso tá me atrapalhando demais a montar uns programinhas básicos de console.

    • @JudSan
      @JudSan  2 года назад

      Quando você usa o chcp 1252 > nul, não precisa mais usar setlocale. A mudança do código de página é suficiente para fazer o input e o output funcionarem corretamente. Remove esse setlocale que tudo vai ficar funcionando.

    • @crazycoder9356
      @crazycoder9356 2 года назад

      @@JudSan O chcp 1252 não tá mudando nada pra mim, o output de acento fica bugado mas o input fica normal. O que eu tô fazendo pra resolver esse problema é ficar mudando o código de página antes e depois do input, quando faço output coloco o código 65001, quando faço input volto pro código original 850 e depois coloco o código 65001 de volta, criei uma funçãozinha pra me ajudar, tô criando um programinha de cadastro de pessoas para treino e esse problema não deixava eu cadastrar pessoas com nomes acentuados.

    • @JudSan
      @JudSan  2 года назад

      @@crazycoder9356 Evitar essa situação de ter que ficar chamando funções cada vez que lê ou escreve é justamente a razão deu ter criado esse vídeo. Se você continua fazendo isso então não entendo. Todas as soluções que eu apresento no vídeo funcionam perfeitamente pra mim em todos os cenários que testei. Você esta usando qual sistema operacional, editor e compilador? Pode colocar um código exemplo em que os acentos não funcionam?

  • @diogooliveirasantos3828
    @diogooliveirasantos3828 3 месяца назад

    Infelizmente essa ultima do Visual Studio não está funcionando comigo. Estou utilizando o VS Community 2022 com Win 10.

    • @JudSan
      @JudSan  3 месяца назад

      @@diogooliveirasantos3828 Dá uma olhada no comentário fixado que tem um novo método que eu considero o melhor.

  • @ganjgamestudio6358
    @ganjgamestudio6358 2 года назад +1

    Cara, eu simplesmente desisto de colocar acentuação, sério, vou escrever tudo em inglês mesmo e é isso. Simplesmente não vai, eu tentei todas as possíveis e não possíveis soluções e não resolveu...

    • @JudSan
      @JudSan  2 года назад

      Qual sistema você usa? VS Code e Mingw no Windows?

    • @crazycoder9356
      @crazycoder9356 2 года назад

      Sim, é mais fácil construir um kernel em c++ do que colocar acentuação.

  • @cidgianni
    @cidgianni 2 месяца назад

    Olá Prof Judson
    Para o problema do system("chcp 1252 > nul"); pesquisando em fóruns na internet, fiz os seguintes testes:
    Criei o projeto teste-V onde no VS utilizei a opção Projeto Vazio
    Criei o projeto teste-C onde no VS utilizei a opção Aplicativo de Console
    No Projeto Vazio a saída é coração
    No Projeto Aplicativo de Console a saída é coração
    Comparei os arquivos de configuração dos projetos com o Note++ utilizando Campare, e fora os nomes dos projetos, não encontrei diferença.
    O que diz mestre? rsrsrsrs
    #include
    using namespace std;
    int main() {
    system("chcp 1252 > nul");
    cout

    • @JudSan
      @JudSan  2 месяца назад

      Estranho. Fiz o teste aqui e pra mim estas duas opções dão o mesmo resultado, a palavra sai com acentos.

    • @cidgianni
      @cidgianni 2 месяца назад

      @@JudSan RESOLVIDO fiz uma descoberta. "No meu computador", o problema está no arquivo cpp que é criado ao utilizar a opção Aplicativo de Console. Eu aproveitava este arquivo, e na tela de edição, eu apagava a rotina criada e fazia a minha rotina aproveitando o arquivo criado. Hoje testei excluindo o arquivo do projeto e criando um novo arquivo, com a linha system("chcp 1252 > nul"); e funcionou a acentuação inclusive com cin/cout. Revendo a aula 01 do curso de C++ você indica para criar "projeto vazio". Não sei porque comecei a utilizar a opção Aplicativo de Console. Obrigado por ter retornado as observações que postei.👍

    • @JudSan
      @JudSan  2 месяца назад

      @@cidgianni Show! Não há de que.

  • @isacgoesdeoliveira6262
    @isacgoesdeoliveira6262 Год назад

    professor a 5 maneira serve para visual code? pq não encontrei

    • @JudSan
      @JudSan  Год назад

      Não Isac, estes métodos são para o Visual Studio 2022. Pode ser que alguns deles funcionem em outros ambientes mas ai você vai ter que testar.

  • @CarlosHenrique06467
    @CarlosHenrique06467 4 месяца назад

    3 e 5 melhor solução.

  • @josegil8526
    @josegil8526 Год назад

    Comigo não funcionou nenhum método dos Apresentados. Uso o Microsoft Visual Studio Community 2022 (64 bits)

    • @JudSan
      @JudSan  Год назад

      Estranho. É a mesma versão que uso no vídeo. Dezenas de alunos meus já testaram estes métodos com sucesso. Pode dar mais detalhes? Que exemplos você está testando que não funciona?

    • @josegil8526
      @josegil8526 Год назад

      ​@@JudSan

    • @josegil8526
      @josegil8526 Год назад

      void apresentacao() {
      cout

    • @JudSan
      @JudSan  Год назад

      @@josegil8526 Olha ai José. Testa ai. Aqui acentua normalmente.
      #include
      #include "windows.h"
      using namespace std;
      void apresentacao()
      {
      cout

  • @alessandrooliveira6108
    @alessandrooliveira6108 5 месяцев назад

    Troquei de pc e nenhum desses funcionou, eu usava o setconsole. Achei uma solução de um comentário! Vai em: hora e idioma > idioma e região > configurações administrativas de idioma > administrativo > alterar localidade do sistema > Usar Unicode UTF-8 para suporte a linguagem mundial. O meu funcionou só com isso.

    • @JudSan
      @JudSan  5 месяцев назад

      Eu já conhecia essa solução. Mas da última vez que eu testei ela só funcionava para exibição com cout o texto não vinha com acentos.

  • @edsonalencar4348
    @edsonalencar4348 2 года назад

    Pra quem vai usar a solução bônus: /c *chcp 1252 > null* & $(TargetPath)

    • @JudSan
      @JudSan  2 года назад +1

      Humm... isso foi uma pergunta?

    • @edsonalencar4348
      @edsonalencar4348 2 года назад

      @@JudSan não não, era só pra deixar o comando ai pra facilitar pro pessoal que for usar direto na solução do projeto.

    • @JudSan
      @JudSan  2 года назад

      @@edsonalencar4348 Show

  • @victorramos8288
    @victorramos8288 2 года назад

    Pra C serve também?

    • @JudSan
      @JudSan  2 года назад +1

      Oi Victor. Serve sim, mesma coisa. A única diferença é na solução número 1, porque C usa a função setlocale(LC_ALL, "pt-BR") e setlocale(LC_ALL, "C"). O resto é igual com relação a mudança da Code Page para 1252.

  • @elinesiobrito3333
    @elinesiobrito3333 4 месяца назад

    Comando usando C++

    • @JudSan
      @JudSan  4 месяца назад

      Sim. As soluções são para C++.