Muitas vezes me perguntei como limpar a tela do console do Linux
e dificilmente conseguia algum resultado. Depois, de algum tempo
procurando na internet cheguei a um pequeno truque usando o
printf, que tem a mesma função de limpar a tela.
[4] Comentário enviado por jllucca em 24/06/2003 - 11:22h
eu conhecia o system() para poder usar comandos do sistema operacional. Só que eu prefiro usar
muito mais "comando" do proprio prompt(ou ASCII), pois isso evita a declaração de mais uma unit.
Está certo, no meu caso, que continuo fazendo ainda a declaração de uma "unit". Mas, está é uma
que estou fazendo. Não está tão boa, mas foi o que eu usei para "esquecer" o system(), além disso
a unit que fiz faz jogadas de valor ao mesmo estilo que usei pra limpar a tela só que pra trocar a cor
da fonte. Essa parte da minha unit, chamo ela de tela.h, foi desenvolvida lendo o
bash-prompt-howto. Se quiserem eu posto ela aqui no site pra verem como fico ^^
[7] Comentário enviado por Bardo em 22/10/2004 - 15:13h
O system("clear") limpa toda a tela antes de rodar o programa. Ex:
Se no interface texto estiver escrito:
mcedit prog.c
cc prog.c -o prog
Na hora que vc for rodar o prog (./prog) ele irá apagar tudo o mais que estiver escrito no terminal (no exemplo, ele irá limpar a chamada ao mcedit e o comando de compilação). Dá um aspecto mais elegante ao programa!!!
[8] Comentário enviado por jllucca em 22/10/2004 - 23:22h
Opa,
realmente obrigado pelo exemplo Bardo. Mas, o dr4ck0 não se referia ao system("clear") e sim aos codigos ANSI(não tenho certeza agora) de terminais que agente pode utilizar para limpar a tela. Seria uma forma mais limpa(mesmo sendo intendivel), se todos os shells o reconhecessem(o desatualizado do windows não o reconhece, se quiser um contra exemplo). Assim, é mais fácil utilizar o system("clear") e quando necessario trocar para system("cls") ou outro comando equivalente.
[9] Comentário enviado por jllucca em 04/11/2004 - 16:19h
system(texto) executa o comando do console indicado por texto. Assim, se voce abrir um prompt do msdos e digitar "clear" vai resultar num "comando inexistente"(nem lembro mais da mensagem, sorry). Mas, executando um "cls" ira resultar em limpar a tela. É o comando equivalente ao clear so q no prompt do windows(ou como prefiro dizer no msdos).
[17] Comentário enviado por SithTux em 25/05/2007 - 11:44h
Isso relsolveu meu problema mas acho o system("clear') bem mais pratico do que esse código ASCII... mas valew pessoal... to iniciando no Linux e to curtindo muito falow
[21] Comentário enviado por removido em 04/06/2008 - 15:40h
hoje eu estava programando e tive problemas
com o comando system("clear"); tipo que isso não
limpava a tela do console no kate (fedora 8)
ele simplismente baixava a barra de rolagem a ponto que oque
havia acima nao aparecia mais. mas ainda existia. tá certo
isso? sou iniciante. por favor se eu falei besteira,
me desculpem :$ pdoksapokdopsa brigada
[22] Comentário enviado por cytron em 25/04/2011 - 01:17h
Só pro caso de alguém mais passar por aqui pra saber se system("clear") é realmente uma melhor poćão do que queles códigos ANSI...
É claro que não! É terrível usar a system() para limpar a tela, afinal, a funćão system() abre um processo só pra rodar um comando no shell.
Ao invés disso, usar printf() é bem mais leve. Mas ainda existem alternativas mais leves ainda do que usar a funćão printf(), basta criar sua própria funćão de limpar a tela, lembrando que utilizar um laćo pra rodar em um determinado número de linhas não é correto, visto que um terminal pode ter o número de linhas alterados apenas aumentando o tamanho da janela... ou diminuindo. Até mesmo na resolućão.
[23] Comentário enviado por EngNBA em 24/08/2014 - 13:02h
O system("clear") com toda certeza é o melhor e mais facil de lembrar. Mas vale lembrar que ele NAO FUNCIONA se o compilador usado for o g++.
Se voce usar o compilador gcc ele vai funcionar agora o G++ ele dará erro. Entao para o g++ é preferivel usar o que o nosso amigo postou ai "printf("\e[H\e[2J");"