1 我们要用到windows的API接口。里面有一个SetConsoleCursorInfo可以解决我们的问题。先打开MSDN查找这个函数,重要的信息小编已经用红色画笔标记了。我们先来看看函数原型BOOL SetConsoleCursorInfo( HANDLE hConsoleOutput, const CONSOLE_CURSOR_INFO* lpConsoleCursorInfo);返回值为BOOL类型,设置成功时返回非0值True,失败返...
SetConsoleCursorInfo(hOut, &cursorInfo); getchar();//设置光标的尺寸为50cursorInfo.dwSize =50; SetConsoleCursorInfo(hOut, &cursorInfo); getchar();//设置光标的尺寸为100cursorInfo.dwSize =100; SetConsoleCursorInfo(hOut, &cursorInfo); getchar();//设置光标不可见cursorInfo.dwSize =25; cursorInfo.bVisible ...
BOOL WINAPISetConsoleCursorInfo( _In_ HANDLE hConsoleOutput, _In_ CONST CONSOLE_CURSOR_INFO* lpConsoleCursorInfo ); AI代码助手复制代码 作用 是用来检索有关指定控制台屏幕缓冲区的光标大小和可见性的信息 返回值 如果函数成功,返回值为非零。 如果函数失败,返回值为零。要获得扩展的错误信息,请调用GetLastErro...
// 隐藏光标void gotoxy(int x, int y) { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle, pos);}void HideCursor() { CONSOLE_CURSOR_INFO cursor_info = { 1, 0 }; SetConsoleCursorInfo(GetStdHandle(...
= {1, 0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);} 函数和结构体都在windows.h中定义。CONSOLE_CURSOR_INFO结构体定义如下:typedef struct { DWORD dwSize;BOOL bVisible; //为0时光标不可见 }CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;VC,MinGW中均没问题。
00. 目录01. CONSOLE_CURSOR_INFO结构02. GetConsoleCursorInfo函数03. SetConsoleCursorInfo函数04. SetConsoleCursorPosition函数 01. CONSOLE_CURSOR_INFO结构 包含有关控制台光标的信息。 typedef struct _CONSOLE_CURSOR_INFO { DWORD dwSize; BOOL bVisible; ...
用到的函数有:CreateConsoleScreenBuffer、WriteConsoleOutputCharacter、ReadConsoleOutputCharacter、SetConsoleActiveScreenBuffer、SetConsoleCursorInfo 官方API文档:猛击这里 CreateConsoleScreenBuffer 简单来说就是 初始化新缓存,并配置新缓存参数。 代码语言:javascript ...
SetConsoleCursorInfo(handle, &curInfo); //设置光标信息 } //光标跳转 void CursorJump(int x, int y) { COORD pos; //定义光标位置的结构体变量 pos.X = x; //横坐标设置 pos.Y = y; //纵坐标设置 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄 ...
CURSOR_INFO CONSOLE_CURSOR_INFO cursor_info = {1, 0};这一句可以看出,bVisible字段为FALSE,表示不显示光标。 GetStdHandle(STD_OUTPUT_HANDLE)这个是获取标准输出(控制台)的句柄 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), cursor_info);这句就是让标准输出(控制台)影藏光标。
CURSOR_INFO cursor_info = {1, 0}; // 第二个值为0表示隐藏光标SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);}int main(){int i;printf("hello world!"); HideCursor(); //提前隐藏scanf("%d",&i);} 3 然后你会发现原先闪烁的光标消失啦!