在Windows控制台编程中,我们有时需要清空屏幕,以便显示的需要
清屏有两种方法,最简单的一种
system("cls");
较为复杂的是调用Windows API
在之前,首先要弄清清屏的概念,清屏相当于填充空格字符,然后将光标设为{0,0}处。
代码如下
BOOL Clear(){
CONSOLE_SCREEN_BUFFER_INFO cinfo;//用于储存控制台缓冲区信息,在这里主要获取控制台缓冲区大小
DWORD recnum;
GetConsoleScreenBufferInfo(hOut, &cinfo);
//cinfo.dwSize储存的是缓冲区大小
//cinfo.dwSize.X * cinfo.dwSize.Y 即需填充的字符数
FillConsoleOutputCharacterW(hOut, L' ', cinfo.dwSize.X * cinfo.dwSize.Y, (COORD) { 0, 0 }, & recnum);//从{0,0}处开始填充' '字符,成功填充个数为recnum
SetConsoleCursorPosition(hOut, (COORD) { 0, 0 });//将光标设为{0,0}
if (recnum != cinfo.dwSize.X * cinfo.dwSize.Y) return 1;
return 0;
}
这种方法较快。
来源:CSDN
作者:qq_41515678
链接:https://blog.csdn.net/qq_41515678/article/details/104445017