我在C++中找到了一個刪除控制檯內容的函數。我測試了它,它工作,但我不明白。下面是函數:C/C++中的ClearConsole() - 清除控制檯的函數
void ClearScreen()
{
HANDLE hStdOut;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD count;
DWORD cellCount;
COORD homeCoords = { 0, 0 };
hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
if (hStdOut == INVALID_HANDLE_VALUE) return;
if (!GetConsoleScreenBufferInfo(hStdOut, &csbi)) return;
cellCount = csbi.dwSize.X *csbi.dwSize.Y;
if (!FillConsoleOutputCharacter(
hStdOut,
(TCHAR) ' ',
cellCount,
homeCoords,
&count
)) return;
if (!FillConsoleOutputAttribute(
hStdOut,
csbi.wAttributes,
cellCount,
homeCoords,
&count
)) return;
SetConsoleCursorPosition(hStdOut, homeCoords);
}
此功能使用
#include <windows.h>
如果任何人都可以向我解釋,它是如何工作的,如果是有效的,並隨時給我建議其他的方式做同樣的事情。謝謝!
如果您只是想清除命令窗口,那麼您可以使用[system](http://www.cplusplus.com/reference/cstdlib/system/)方法傳遞正確的清除命令。在Windows上,clear命令是'cls'。請查看[this](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682022(v = vs.85).aspx)瞭解有關注釋的代碼示例。 –
如果您有工作代碼,請索取SE代碼審查的評論。 –