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 <windows.h>
#include <iostream>
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

 
这里的X 轴和 Y 轴如上图。
这里光标移动就是一个固定的套路,有些具体的知识像什么是句柄这些,在我当前的知识范围和能力还不能具体详细的解释清楚,如果以后可以的话再具体写吧。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值