#include <windows.h> void cls( HANDLE hConsole ) { COORD coordScreen = { 0, 0 }; // home for the cursor DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; // Get the number of character cells in the current buffer. if( !GetConsoleScreenBufferInfo( hConsole, &csbi )) { return; } dwConSize = csbi.dwSize.X * csbi.dwSize.Y; // Fill the entire screen with blanks. if( !FillConsoleOutputCharacter( hConsole, // Handle to console screen buffer (TCHAR) ' ', // Character to write to the buffer dwConSize, // Number of cells to write coordScreen, // Coordinates of first cell &cCharsWritten ))// Receive number of characters written { return; } // Get the current text attribute. if( !GetConsoleScreenBufferInfo( hConsole, &csbi )) { return; } // Set the buffer's attributes accordingly. if( !FillConsoleOutputAttribute( hConsole, // Handle to console screen buffer csbi.wAttributes, // Character attributes to use dwConSize, // Number of cells to set attribute coordScreen, // Coordinates of first cell &cCharsWritten )) // Receive number of characters written { return; } // Put the cursor at its home coordinates. SetConsoleCursorPosition( hConsole, coordScreen ); } int main( void ) { HANDLE hStdout; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); cls(hStdout); return 0; } ------------------------------- void ClearScreen (); HANDLE hConsoleOut; /* Handle to the console */ CONSOLE_SCREEN_BUFFER_INFO csbiInfo; /* Console information */ int main(int argc, char* argv[]) { hConsoleOut = GetStdHandle( STD_OUTPUT_HANDLE ); GetConsoleScreenBufferInfo( hConsoleOut, &csbiInfo ); ClearScreen(); return 0; } void ClearScreen () { DWORD dummy; COORD Home = { 0, 0 }; FillConsoleOutputCharacter (hConsoleOut, ' ', csbiInfo.dwSize.X * csbiIn fo.dwSize.Y, Home, &dummy ); SetConsoleCursorPosition (hConsoleOut, Home); }