C语言光标移动到控制台制定位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语言光标移动

HANDLE hout;
COORD coord;

coord.X=3;
coord.Y=3;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord);
重新定义X,Y 就能把光标移动到预定位置,
代码看不懂,谁能给个简单的解释

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;
参考技术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语言光标移动到控制台制定位置的主要内容,如果未能解决你的问题,请参考以下文章

如何实现C语言中用键盘控制光标移动?

C语言光标的移动程序是啥 要详细一点

C语言之实现控制台光标随意移动

求C语言隐藏光标函数的详细解释

Emacs 光标控制

怎样用键盘移动光标?