Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal,

Estou tendo problemas no meu código quando eu utilizo o comando setlocale:

#include <locale.h>
#include <iostream>

int main() {
    setlocale(LC_ALL, "Portuguese");

Escrevendo um pequeno texto no programa, eu notei que alguns acentos aparecem normalmente e outros não. No lugar dos acentos apareceram uns símbolos estranhos. Eu utilizo o DEV C++ e de acordo com sites que andei pesquisando, esse programa tem um compilador antigo e que talvez o problema desses meus acentos possa ser isso. Porém, eu vi que o Code::Blocks tem o mesmo compilador do DEV C++. Então gostaria de saber o que fazer para resolver esse meu problema.

 

Grato desde já!

  • Curtir 1
Postado

@vangodp  Eu integrei o compilador TDM-GCC-64 no DevC++, mudei o setlocale para esse que você me passou, mas mesmo assim continua dando erro, alguns caracteres aparecem normais e outros com símbolos estranhos

 

  • Curtir 1
Postado

@TYSQUARE89 Quando eu coloquei setlocale dessa forma, todas as letras com acento ficaram com uns símbolos estranhos. Antes, com o (LC_ALL, "Portuguese"), apenas o Á , õ e ã ficaram com uns símbolos estranhos. Eu até tentei usar esse comando com %c no lugar no acento, usando a tabela ASCII:

printf(" *SISTEMA DE C%cLCULO DE CRÉDITOS", 193); 

Porém, fica com o mesmo símbolo se eu digitasse "Á" no lugar de "%c"

 

@vangodp Eu fiz um teste com acentos no programa:

printf(" Á À Ã Â É Ê Í Ì Ó Ò Õ Ô Ú Ù á à ã â é ê í ì ó ò õ ô ú ù");

Porém apareceu esses caracteres:

Erro.png

 

Eu estou usando o DevC++ 4.9.9.2, com o compilador TDM-GCC-64, meu teclado é em Português e estou usando o Windows 7 Home Premium também em português

  • Curtir 1
Postado

Você usa Windows 7 Home Premium x32? Pois seu compilador é x64, não sei se interfere em char. Mas com certeza pode dar algum problema.

Como o @vangodp disse, antes de executar soluções drásticas, vamos as mais obvias, já tentou verificar se seu console está em UTF-8(ASCII não possui acentos)?

  • Curtir 1
Postado

@TYSQUARE89 Meu computador é x64, esqueci de mencionar isso.

Desculpe a pergunta, mas como eu verifico se o meu console está em UTF-8?

E sobre o ASCII, eu pensei que a versão estendida dela tivesse acentos.

 

Grato desde já!

  • Curtir 1
Postado

Creio que seja melhor instalar um editor mais avançado/atualizado, como o code::blocks. Pra verificar é preciso ir no regedit, mas não lembro o caminho certo. La é possível ativar UTF-8, assim é adicionado mais símbolos. Sim a versão extendida contém acentos, mas se não usar locale.h ou %c, 160... não é possível visualizar eles. Se você ir no cmd, você consegue digitar acentos, etc..?

  • Curtir 1
Postado

@TYSQUARE89Nossa... Eu fui verificar no cmd, e percebi que tem alguns acentos que não aparecem, e outros aparecem normalmente. Mas eu lembro dele mostrar todos os acentos certinhos... Que estranho.

 

O que será que pode ter acontecido? Certeza que isso está relacionado com o programa

 

  • Curtir 1
Postado

Não tenho mais resoluções, se você já verificou o teclado, código, compilador, etc., acredito que seja melhor reinstalar o DevC++ ou usar Atom, Code::Blocks ou Falcon C++.

  • Curtir 1
Postado

@TYSQUARE89 Bom, Muito Obrigado mesmo! Você me ajudou demais com isso.

O que eu vou fazer é mudar a fonte do prompt de comando mesmo, porque com outra fonte mostra todos os acentos. É o que me resta kkkk

 

Muito obrigado

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...