Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexjose123

Console Eclipse Bugado

Recommended Posts

Estou tentando desenvolver em C e optei por usar a IDE Eclipse Indigo.

Porém estou frustrado com o bug no terminal da IDE.

Até agora não encontrei nenhuma solução viável que corrigisse esse bug.

Alguem conhece alguma solução pratica ? Patch ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi mal, mas essa seção é de C/C++, não de IDE's, por isso, qual seria esse bug? Já tentou pesquisar sobre ele no google?

 

E opte por não usar IDE's, você só vai aprender C/C++ mesmo quando parar de usá-las. Compilação faz parte da linguagem, fugir dela só faz com que você se torne um péssimo programador. Só vai ficar bom quando entender esse processo.

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

O bug só aparece no Windows 7 e similares embora que no ubuntu 11 o mesmo código não apresenta erro.

O bug existe e esta no forum para desenvolvedores do Eclipse e se resume a ocultar os printf enquanto os scanf não forem

todos inseridos dados.

 

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

int main(){
	int numero;

	printf("Ola mundo");
	scanf("%i",&numero);
	return 0;
}

 

No código acima o printf só aparece depois que for digitador alguma coisa no console do Eclipse!

Se alguem souber de uma correção para esse bug ?

Acho difícil ser bug do Eclipse. Poste o código aqui pra que possamos ter certeza de que não é você quem está errando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

       int main(){
               int numero;

               printf("Ola mundo");
               fflush(stdout);
               scanf("%i",&numero);
               return 0;
       }

 

Isso deve resolver.

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso não é um bug. Sistemas costumam fazer buffering para evitar fazer chamadas demais a rotinas caras (como de IO). Alguns sistemas fazem flush automaticamente a cada newline (se for seu caso, printf("Ola mundo\n"); faria com que a mensagem aparecesse quando você quer).

 

fflush, recomendada pelo Renato acima, é algo que se usa para esvaziar buffers de saída.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.