#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
int n;
cout << "请输入倒计时时间:";
cin >> n;
for(int i = 0; i < 10; i++)
cout << "===============\n";
// HANDLE GetStdHandle( DWORD nStdHandle );
// GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。
// STD_OUTPUT_HANDLE 标准输出的句柄
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
// COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:
// typedef struct _COORD {
// SHORT X; // horizontal coordinate
// SHORT Y; // vertical coordinate
// } COORD;
COORD pos;
pos.X = 2, pos.Y = 5;
/* 隐藏光标
这个结构包含的是控制台光标的信息
typedef struct _CONSOLE_CURSOR_INFO {
DWORD dwSize;// 光标百分比厚度(1~100)
BOOL bVisible;// 是否可见
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
*/
CONSOLE_CURSOR_INFO curInfo;
curInfo.dwSize = 1;
curInfo.bVisible= FALSE;
// SetConsoleCursorInfo是用CONSOLE_CURSOR_INFO结构体的信息 设置控制台光标信息,
SetConsoleCursorInfo(hOut, &curInfo);
while(n >= 0)
{
// 设置光标的位置
SetConsoleCursorPosition(hOut, pos);
cout << " ";
SetConsoleCursorPosition(hOut, pos);
printf(" %-6d ", n--);
Sleep(1000);
}
pos.X = 3, pos.Y = 11;
SetConsoleCursorPosition(hOut, pos);
cout << "Time over!\n";
return 0;
}
终端实现局部清屏效果 WindowsAPI
最新推荐文章于 2024-01-07 18:42:19 发布