C语言光标移动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言光标移动相关的知识,希望对你有一定的参考价值。
HANDLE hout;
COORD coord;
coord.X=3;
coord.Y=3;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord);
重新定义X,Y 就能把光标移动到预定位置,
代码看不懂,谁能给个简单的解释
typedef struct _COORD
SHORT X;
SHORT Y;
COORD, *PCOORD;
很明显这个结构可以用来记录坐标
GetStdHandle()函数获得标准输入输出的句柄,参数STD_OUTPUT_HANDLE是个宏,代表标准输出,可以看作显示器
SetConsoleCursorPosition(hout,coord); 看函数名称:设置控制台光标坐标,参数就是设备句柄,坐标,那么把标准输出的句柄传给函数,就可以把光标定位在对应的位置了(左上角位置是0,0然后向左 向下延伸)
下面这段代码可以在屏幕第10行第30列输出"Hello world"
#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;
参考技术A
CROOD就是这样的一个玩意:
typedef struct _COORD
SHORT X;
SHORT Y;
COORD, *PCOORD;
很明显这个结构可以用来记录坐标
GetStdHandle()函数获得标准输入输出的句柄,参数STD_OUTPUT_HANDLE是个宏,代表标准输出,可以看作显示器
SetConsoleCursorPosition(hout,coord); 看函数名称:设置控制台光标坐标,参数就是设备句柄,坐标,那么把标准输出的句柄传给函数,就可以把光标定位在对应的位置了(左上角位置是0,0然后向左 向下延伸)
下面这段代码可以在屏幕第10行第30列输出"Hello world"
#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;
C语言光标移动到控制台制定位置
有什么办法能把光标移到图中位置么? 求教 代码
void goto_xy(int x,int y) //定位光标位置到指定坐标HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos=x,y;
SetConsoleCursorPosition(hOut,pos);
这是我写的一个函数 貌似要include "Windows.h"
如果真的要做界面的话 建议不要用控制台了 .. 参考技术A HANDLE hOutput_ = ::GetStdHandle(STD_OUTPUT_HANDLE);
HANDLE hInput_ = ::GetStdHandle(STD_INPUT_HANDLE);
SHORT baselinenum = 0;
BOOL SetCursorPosition( SHORT x, SHORT y )
COORD cd = x, y+baselinenum ;
return ::SetConsoleCursorPosition( hOutput_, cd );
以上是关于C语言光标移动的主要内容,如果未能解决你的问题,请参考以下文章