1.功能实现
1. #include <windows.h>
2.
#include <iostream>
3.
using namespace std;
4.
int main()
5.
{
6.
cout<<"Hello world!";
7.
HANDLE hout;
8.
COORD coord;
9.
coord.X=10;
10.
coord.Y=10;
11.
hout=GetStdHandle(STD_OUTPUT_HANDLE);
12.
SetConsoleCursorPosition(hout,coord);
13.
cout<<"Hello world!";
14.
return 0;
15.
}
上面代码的功能是输出“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)跟这个有点像,下次看看