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.
#1Comentário enviado por gustavo_marcon em 20/06/2003 - 18:45h
Acho que c/ a função system("clear") a tela limpa também
#2Comentário enviado por mrluk em 23/06/2003 - 12:59h
isso q eu ia perguntar, isso tudo é pra fazer a mesma coisa que o clear? hehe...
#3Comentário enviado por JuNiOx em 24/06/2003 - 03:12h
ae, no win eu usava clrscr(), porém, precisa do conio.h ...
já no linux, não existe essa lib... , esse comando system("clear") é idêntico ao clrscr() ou tem diferenças entre eles ?
#4Comentá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 ^^
#5Comentário enviado por jllucca em 27/06/2003 - 13:10h
Eu postei a biblioteca, eu sei q ninguem pediu... Mas, ela está aqui já:
#6Comentário enviado por dr4ck0 em 20/10/2004 - 12:08h
Como funciona essas funcoes de limpar tela... Alguem sabe??
#7Comentá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!!!
Valew!
#8Comentá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.
[]'s
#9Comentá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).
#10Comentário enviado por Bardo em 04/11/2004 - 17:45h
Valew, mas olha só pra que serve esse system("cls")?
#11Comentário enviado por hunz em 10/12/2004 - 19:07h
jlluca, dei uma lida nas manpages do console_codes e notei que há uma maneira mais simples de fazer isso:
printf("\033[2J");
Abraços,
Fiquem com Deus.
#12Comentário enviado por jochan em 14/12/2005 - 14:42h
Muito legal, vai me ajudar bastente no meu projeto de C++ ... =)
#13Comentário enviado por luisferpa em 04/03/2006 - 19:28h
muito bacaca a dica, vou testar ... vlw
#14Comentário enviado por removido em 02/05/2006 - 16:39h
Com a função system("clear"); a tela tmbm fica limpah..
é como digitar clear na console****
#15Comentário enviado por packetspy em 14/11/2006 - 19:47h
O codigo proposto não funciona....
O correto seria assim:
#include<stdio.h>
main()
{
printf("\e[H\e[2J");
printf("Ola mundo ");
}
Abraços !!!
#16Comentário enviado por cacjorge em 14/05/2007 - 16:52h
uma pequena dica,
usem system("clear || cls");
ai funciona tanto em linux como no windows ;]
#17Comentá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
#18Comentário enviado por f_Candido em 09/07/2007 - 16:51h
Ajudou bastante aqui. Tanto com o código na função printf, quanto, usar a função system.
Vlw
#19Comentário enviado por gabrield em 19/10/2007 - 10:02h
Legal!
Vai ajudar muito agora em diante...!
Vlw kra!
#20Comentário enviado por anonimo1234 em 30/03/2008 - 00:21h
Muito boa dica,tava procurando um comando pra fazer isso e não conhecia esse system("cls");
Valeu :)
#21Comentá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
#22Comentá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.
#23Comentá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");"
Preferências de cookies
Usamos cookies essenciais para manter o site funcionando. Cookies de estatísticas e anúncios só serão carregados se você permitir.