您的位置 首页 > 腾讯云社区

代码雨---DeROy

控制台函数

控制台相关函数API

https://docs.microsoft.com/en-us/windows/console/console-functionsGetStdHandle(获取控制台句柄)

检索指定标准设备(标准输入,标准输出或标准错误)的句柄。

HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle );

nStdHandle [输入] :

STD_INPUT_HANDLE 标准输入

STD_OUTPUT_HANDLE 标准输出

STD_ERROR_HANDLE 标准错误

光标相关SetConsoleCursorPosition

设置光标在指定控制台屏幕缓冲区中的位置

BOOL WINAPI SetConsoleCursorPosition( _In_ HANDLE hConsoleOutput, _In_ COORD dwCursorPosition );

hConsoleOutput [输入] :控制台屏幕缓冲区的句柄,通过GetStdHandle获取

dwCursorPosition [in] :一个COORD结构,以字符为单位指定新的光标位置。坐标是屏幕缓冲区字符单元格的列和行。

COORDtypedef struct _COORD { SHORT X; SHORT Y; } COORD, *PCOORD;

就是一个二维坐标点

SetConsoleCursorInfo

为指定的控制台屏幕缓冲区设置光标的大小和可见性。

BOOL WINAPI SetConsoleCursorInfo( _In_ HANDLE hConsoleOutput, _In_ const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo );

hConsoleOutput [输入] :控制台屏幕缓冲区的句柄,通过GetStdHandle获取

lpConsoleCursorInfo [in] :指向CONSOLE_CURSOR_INFO结构的指针

CONSOLE_CURSOR_INFO

包含有关控制台光标的信息。

typedef struct _CONSOLE_CURSOR_INFO { DWORD dwSize; BOOL bVisible; } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;

dwSize:光标填充的字符单元格的百分比。此值在1到100之间。

注意windows控制台dwSize值默认为1,Linux一般为100

bVisible:光标的可见性。如果光标可见,则此成员为TRUE。

SetConsoleTextAttribute

写入控制台屏幕缓冲区的字符的属性,控制

BOOL WINAPI SetConsoleTextAttribute( _In_ HANDLE hConsoleOutput, _In_ WORD wAttributes );

hConsoleOutput [输入] :控制台屏幕缓冲区的句柄,通过GetStdHandle获取

wAttributes [IN] :字符属性

字符属性可以分为两类:颜色和DBCS。

设置文字颜色:

FOREGROUND_BLUE 蓝色

FOREGROUND_GREEN 绿色

……

详情:https://docs.microsoft.com/en-us/windows/console/console-screen-buffers#_win32_font_attributes隐藏控制台光标CONSOLE_CURSOR_INFO cciCursor; //控制台光标的信息 HANDLE hout; //句柄 hout = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台标准输入句柄 if (GetConsoleCursorInfo(hout, &cciCursor))//获取控制台屏幕缓冲区光标的大小和可见性 { //设置光标不可见 cciCursor.bVisible = false; SetConsoleCursorInfo(hout, &cciCursor); }设置输出位置void gotoxy(int x, int y) { HANDLE hout; COORD pos; pos.X = x; pos.Y = y; hout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hout, pos); }

End

---来自腾讯云社区的---DeROy

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: