首页 > 编程知识 正文

控制台清屏函数,进入清屏模式

时间:2023-05-04 00:08:16 阅读:180448 作者:1269

今天的任务是通过学习相关的函数,实现一些效果,到底有什么效果,就是现在需要的效果。 相关的新内容是如何获取控制台窗口信息以及在控制台中输入字符的函数。 首先将控制台所需的函数封装在一个类中:

class MyConsole{}; 这样的话就有控制台类了。 我想把一些功能放在里面,之后直接找它就行了。 我现在想要透明屏幕的函数。 CleanUp (; 把它放进去。 但是,你需要知道如何做到这一点。

文本窗口的一般控制步骤

第一步需要得到方向盘。 句柄是Windows的概念,有时也会认为与指针相似。 方向盘本身不是我操作的对象,但在操作中需要用它来进行。 这就像过去悠闲的时候喝茶,端起茶杯,然后喝一口。 我举起茶杯柄,而不是茶,完成喝茶的动作。 唯一的不同在于,句柄在使用时获取,不使用时记住释放。 控制台有三种类型的设备句柄。

STD_INPUT_HANDLE //标准输入设备句柄(键盘上的标准输入) STD_OUTPUT_HANDLE //标准输出设备句柄(屏幕上的标准输出) STD_ERROR_HANDLE ////得到标准输出的句柄

现在,可以用这个手柄来控制屏幕的输出效果。 因为没有纯粹的屏幕函数,所以扩展类。

classmyconsole { private : handle hout; //标准输出句柄console _ screen _ buffer _ info binfo; //窗口信息结构,包含窗口信息的public: //--结构/语法-- MyConsole (; ~MyConsole (; void CleanUp (; //透明屏幕; //----结构----my console :3360 my console (/类初始化(hout=getstdhandle ) STD_output_handle ); //标准输出句柄getconsolescreenbufferinfo (hout,bInfo ); //标准输出窗口信息(}//----析构函数----my console 33603360~my console )//类终止(closehandle ) hout ); //释放手柄--------清透屏----voidmyconsole 33603360 clean up () { coord pos={ 0,0 }; //从坐标开始//--空格fillconsoleoutputcharacter (hout,//输出句柄[in] ',//输出内容[in]binfo.dwsize.x*binfo.dwsizo //之后变更为Gogo函数(现在输出几个文字,然后清除画面进行测试。 如果屏幕上没有显示输出,则代码正确。

# include windows.h # include stdio.hint main () { int i; 我的控制台我的控制台; for(I=0; i10; I ) printf(Helloconsole! n ';//输出10行字符myConsole.CleanUp (); //透明屏幕(可以先不使用比较) return 0; } 附相关结构体://----坐标结构体----typedef struct _COORD{ SHORT X; //X坐标短y; //Y坐标} COORD; //----控制台窗口信息结构----typedef struct _ console _ screen _ buffer _ info { coord dwsize; //缓冲区大小COORD dwCursorPosition; //当前光标位置WORD wAttributes; //字符属性SMALL_RECT srWindow; //当前窗口中显示的大小和位置COORD dwMaximumWindowSize; //最大窗口缓冲区大小} CONSOLE_SCREEN_BUFFER_INFO;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。