C语言光标移动函数

 

static void _SetPos(int x, int y)//移动光标到X、Y位置
{
COORD position;
HANDLE handle;
handle=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(handle, position);
}


C语言光标移动函数,COORD实际上是一个C语言内部做好的结构体,结构体中只包含两个元素,x和y,这里的x、y就是代表着光标移动的位置
typedef struct _COORD {
int x;
int y;
} ;


实际上就是一个这样的,只不过这里不需要你再去定义一个结构体,直接调用就可以。这个结构体就是用来记录坐标。
GetStdHandle () 这个函数也是C语言内部已经设定好的,所以这里直接调用就行。 GetStdHandle( STD_OUTPUT_HANDLE ) 这里就是一个固定的函数格式,获得标准输出函数的句柄。
HANDLE  handle; 这里和COORD 是一样的HANDLE是一个一定由系统定制的结构体直接调用就可以。将获得的标准输出句柄给handle。
SetConsoleCursorPosition 这个函数是用来移动光标的,也是由C语言直接提供给你的直接使用就可以。
#include 
#include 
using namespace std;
int main()
{
HANDLE hout;
COORD coord;
coord.X=30;
coord.Y=10;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord); 
cout<<"Hello world!\n";
return 0;
}
 
 
这个程序能够在DOS框中的30,10位置输出一个Hello world
C语言光标移动函数_第1张图片
  C语言光标移动函数_第2张图片
这里的X 轴和 Y 轴如上图。
这里光标移动就是一个固定的套路,有些具体的知识像什么是句柄这些,在我当前的知识范围和能力还不能具体详细的解释清楚,如果以后可以的话再具体写吧。

你可能感兴趣的:(个人总结)