C++改变光标位置的函数

来源:互联网 发布:11 选5遗漏数据查询 编辑:程序博客网 时间:2024/04/28 18:53
1.功能实现
#include <windows.h>#include <iostream>using namespace std;int main(){    cout<<"Hello world!"; HANDLE hout; COORD coord; coord.X=10; coord.Y=10; hout=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hout,coord); cout<<"Hello world!"; return 0;}

上面代码的功能是输出“Hello world”,并将光标移动到x=10,y=10处,再次输出“Hello world”.

X Y 可以是任意非负值。


2.原理
COORD 可以理解成一个链表  具体为
typedef struct COORD{
          short X;
          short Y;
          }COORD,*PCOORD;
可以用来记录坐标.
GetStdHandle()函数获得标准输入输出的句柄(虽然我并不知道句柄是什么ಥ_ಥ)
参数STD_OUTPUT_HANDLE是个宏,代表标准输出,可以看作显示器。
SetConsoleCursorPosition(hout,coord);看函数名称:设置控制台光标坐标,
参数就是设备句柄,坐标,那么把标准输出的句柄传给函数,就可以把光标定位
在对应位置了(左上角的位置是0,0然后向左,向下延伸)
3.注意
1.此函数只能将光标强制移动,其余完全不改变
2.点击打开链接 这是句柄的百度百科ಥ_ಥ
3.我感觉goto(x,y)跟这个有点像,下次看看
0 0
原创粉丝点击