Puoi uscirne in questa maniera:
codice:#ifdef _WIN32 #include <windows.h> #else #include <iostream> #endif void ClearScreen() { #ifdef _WIN32 // Codice per Windows // Handle alla console HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); // Coordinate a cui resettare il cursore COORD coordScreen = { 0, 0 }; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; if(hConsole==NULL) return; // Ottiene le dimensioni della console corrente if( !GetConsoleScreenBufferInfo( hConsole, &csbi )) return; dwConSize = csbi.dwSize.X * csbi.dwSize.Y; // Riempie lo schermo di spazi if( !FillConsoleOutputCharacter( hConsole, (TCHAR) ' ', dwConSize, coordScreen, &cCharsWritten )) return; // Ottiene gli attributi di carattere correnti if( !GetConsoleScreenBufferInfo( hConsole, &csbi )) return; // Imposta tutto lo schermo a tali attributi if( !FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )) return; // Sposta il cursore a (0,0) SetConsoleCursorPosition( hConsole, coordScreen ); #else // Fallback sugli escape ANSI std::cout<<"\x1B[2J\x1B[1;1H"; std::cout.flush(); #endif }

Rispondi quotando