Como executar tela Limpar (CLS) em um aplicativo de console

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 99261
Sumário
Algumas versões não-Microsoft do C++ fornecem uma função clrscr para limpar a tela em um aplicativo DOS. No entanto, há nenhuma função Win32 Application Programming Interface (API) ou C Runtime que irá executar essa função.

Para realizar essa tarefa para um aplicativo de console Win32, use um dos seguintes métodos:
  • Use uma função de sistema.
  • Escreva uma função que irá limpar programaticamente a tela.
Esses métodos são descritos na seção "Mais informações" a seguir.
Mais Informações

Usar uma função de sistema

#include <stdlib.h>void main(){   system("cls");}				

Escrever uma função que irá limpar programaticamente a tela

The following function clears the screen:
 /* Standard error macro for reporting API errors */  #define PERR(bSuccess, api){if(!(bSuccess)) printf("%s:Error %d from %s \     on line %d\n", __FILE__, GetLastError(), api, __LINE__);} void cls( HANDLE hConsole ) {    COORD coordScreen = { 0, 0 };    /* here's where we'll home the                                        cursor */     BOOL bSuccess;    DWORD cCharsWritten;    CONSOLE_SCREEN_BUFFER_INFO csbi; /* to get buffer info */     DWORD dwConSize;                 /* number of character cells in                                        the current buffer */     /* get the number of character cells in the current buffer */     bSuccess = GetConsoleScreenBufferInfo( hConsole, &csbi );    PERR( bSuccess, "GetConsoleScreenBufferInfo" );    dwConSize = csbi.dwSize.X * csbi.dwSize.Y;    /* fill the entire screen with blanks */     bSuccess = FillConsoleOutputCharacter( hConsole, (TCHAR) ' ',       dwConSize, coordScreen, &cCharsWritten );    PERR( bSuccess, "FillConsoleOutputCharacter" );    /* get the current text attribute */     bSuccess = GetConsoleScreenBufferInfo( hConsole, &csbi );    PERR( bSuccess, "ConsoleScreenBufferInfo" );    /* now set the buffer's attributes accordingly */     bSuccess = FillConsoleOutputAttribute( hConsole, csbi.wAttributes,       dwConSize, coordScreen, &cCharsWritten );    PERR( bSuccess, "FillConsoleOutputAttribute" );    /* put the cursor at (0, 0) */     bSuccess = SetConsoleCursorPosition( hConsole, coordScreen );    PERR( bSuccess, "SetConsoleCursorPosition" );    return; }				
clearscreen

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 99261 - Última Revisão: 11/21/2006 15:47:41 - Revisão: 3.3

Interface de Programação de Aplicativos do Microsoft Win32

  • kbmt kbapi kbcode kbconsole kbhowto kbkernbase KB99261 KbMtpt
Comentários