C语言函数括号hOut,c语言光标移动

C语言函数括号hOut,c语言光标移动1 在控制台中 完成了一个又一个程序 渐渐发现控制台不方便了 控制台貌似只能 从上到下 从左到右的进行输出 如果进行页面设计就会发现 想在光标所处位置的上方添加一些内容 该怎么办呢 2 解决方案能否解决这类问题呢 直接添加如下的自定义函数 然后再需要光标移动时

大家好,我是讯享网,很高兴认识大家。

1在控制台中,完成了一个又一个程序。渐渐发现控制台不方便了。控制台貌似只能,从上到下,从左到右的进行输出。如果进行页面设计就会发现,想在光标所处位置的上方添加一些内容,该怎么办呢?

2.解决方案能否解决这类问题呢?

直接添加如下的自定义函数。然后再需要光标移动时,直接调用就可以实现光标的移动。

void goto_xy(int x, int y)//定位光标位置到指定坐标

{ HANDLE hOut;

hOut = GetStdHandle(STD_OUTPUT_HANDLE);

COORD pos = { x,y };

SetConsoleCursorPosition(hOut, pos);}

ps 1:添加这个自定义函数,必须要声明Windows.h的头文件

ps 2:使用时把它当做一个自定义函数,可以直接调用,传入的参数为相应的坐标


讯享网

ps 3:使用这个函数时,不会清除屏幕中相关的内容

ps 4:光标移动后,再次输入时,如果原来位置有文字,会被覆盖掉

3.浅析光标移动函数的原理a.句柄(HANDLE)在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。

句柄指的是一个对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。在示例程序中HANDLE就是句柄数据类型。可以把对象的句柄赋给它。

b.API函数操作系统除了协调应用程序的执行、内存分配、系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数)。这些服务可以帮助应用程序达到开启视窗、描绘图形、使用周边设备的目的,由于这些函数服务的对象是应用程序(Application),所以称之为Application Programming Interface,简称API函数。

Ps :日常使用API的几率很小,所以API不用系统的去学,在需要的时候去查API帮助就足够了。->在示例程序中GetStdHandle()就是一个API函数。 它的作用是从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄 这里的句柄也可以理解为指光标停留位置的信息。

值含义STD_INPUT_HANDLE标准输入的句柄STD_OUTPUT_HANDLE标准输出的句柄STD_ERROR_HANDLE标准错误的句柄GetStdHandle()的几种参数c.COORDCOORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。typedef struct _COORD{ SHORT X; SHORT Y; } COORD;COORD是一个结构体,表示一个坐标。

定义包含在Windows.h的头文件里。d.SetConsoleCursorPosition()SetConsoleCursorPosition是一个实现光标的位置控制的计算机函数。它的两个参数为(光标句柄,COORD的结构体) 作用是将光标句柄,移动到COORD指向的位置。

转载于大佬konghouy的文章

小讯
上一篇 2025-03-03 23:32
下一篇 2025-01-23 17:37

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/24575.html