Limpar tela em C no Gnome

1. Limpar tela em C no Gnome

Danilo de Oliveira Silva
danilodeoliveira

(usa Ubuntu)

Enviado em 10/10/2014 - 02:40h

Ai vai uma dica Pessoal!
Eu utilizei o Seguinte Comando

system("clear");

faça o #include<stdio.h> e #include<stdlib.h> das bibliotecas padrões

E la no seu código você coloca o comando onde precisar.

Abraços.

Acho que funciona para qualquer distribuição linux se não, avisar aqui por favor.






  


2. Re: Limpar tela em C no Gnome

Paulo
paulo1205

(usa Ubuntu)

Enviado em 10/10/2014 - 18:21h

É uma solução, mas você precisa saber que isso tem alguns problemas. A saber (e possivelmente a lista abaixo não esgote todas as possíveis ressalvas):

1) Depende de um comando externo, que tem de estar disponível para o sistema operacional executar (o que pode nem sempre ser verdadeiro).

2) Depende, no mundo UNIX (incluive Linux), do valor da variável de ambiente PATH.

3) É custoso. No mundo UNIX (e também é semelhante no Windows), a função system() cria um processo novo, e executa nesse segundo processo uma instância do shell, para que o comando passado à função seja por ele interpretado. O shell, por sua vez, após interpretar o comando recebido, pode criar (e, no caso do comando clear, efetivamente cria) outro processo novo (o terceiro) e executa (ou, melhor, tenta executar, podendo até mesmo falhar) dentro dele o programa solicitado. Quando a execução do terceiro processo termina, o segundo processo trata sua finalização, e também termina. O processo original permaneceu parado esse tempo todo, pois a função system() fica aguardando o término da execução do segundo processo, para poder, finalmente, tratar sua finalização, e devolver ao programa que a chamou um código que indica se a execução foi bem-sucedida.

4) Idealmente, você deveria capturar o valor retornado pela função system() e tratá-lo.

5) O comando clear só existe no mundo UNIX. No Windows, ele tem outro nome.


3. Re: Limpar tela em C no Gnome

Danilo de Oliveira Silva
danilodeoliveira

(usa Ubuntu)

Enviado em 10/10/2014 - 19:22h

É verdade paulo1205.
mas utilizo ele somente para testes, quero só tentar ajudar, mesmo.

system("clear");

Este código é muito útil para testes, e você não precisa utilizar várias bibliotecas, mas somente as padrões do C à IO e LIB, já no windows o comando é bem similar system("cls");

Obs.: Se a telinha fecha após terminar o código, recomendo colocar antes do system("clear ou cls"); dois getchar(); ai só após o ENTER o programinha encerrara.

getchar(); Ler só um caractere que no caso é o ENTER, e com o 'debugamento' do código fonte as vezes que você dar ENTER para armazenar valores nas Variáveis, este ENTER, vai "ficar meio que perdido na memoria RAM, pois na linguagem C ela entende como um caractere da ASCII" por isso os dois getchar(); um para receber os lixos(ENTERs) anteriores e o outro para quando você terminar de visualizar o programinha dar o ENTER final.

getchar(); é Similar ao scanf();








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts