如何在 c++ 控制台应用程序中控制光标位置
How to control a cursor position in c++ console application?
我应该为学校项目创建一个控制台应用程序,它是关于数独游戏的,所以问题是我对算法没有任何困难,但我想知道我是否可以用 c++ 绘制完整的 Sodoku 表并将空方块作为"数据"输入位置,以便用户可以使用箭头键将光标移动到特定数字的位置以填充适当的数字。有没有办法这样做?
这取决于
你的操作系统/编译器。例如,在 VC++ 中,您可以使用它,并且可以在此处找到示例。
#include <windows.h>
int main(){
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = {3, 6};
SetConsoleCursorPosition(hConsole, pos);
WriteConsole(hConsole, "Hello", 5, NULL, NULL);
return 0;
}
如果你想在Linux中使用g++编译器来做到这一点,你可以使用特殊的库,如curses或编写自己的实现(会有点困难)。例如,只需将光标放在所需位置,您可以使用以下内容:
void gotoxy(int x,int y)
{
printf("%c[%d;%df",0x1B,y,x);
}
void clrscr(void)
{
system("clear");
}
int main() {
int x=10, y=20;
clrscr();
gotoxy(x,y);
printf("Hello World!");
}
在Windows中,你应该使用Windows api。
从那里,使用SetCursorPos()
。
查看用于创建基于文本的用户界面的 ncurses 库。它适用于Linux和Cygwin/MinGW下的Windows。
相关文章:
- 如何在Qt C++中更改光标
- 控制允许动态运行c++的并发操作数
- 从控制台中删除最后打印的元素
- 是否可以使用if constexpr删除控制流语句
- 无法在windows控制台中为C++程序提供必要的输入
- 控制到达非空函数clang(-Wreturn-type)的末尾
- 查找 GCD:并非所有控制路径都返回值
- 通过 API 控制 DJI 相机
- 禁止在控制台上记录谷神星
- 是否可以使用一个类来控制 C++ 中另一个类的对象?(阿杜伊诺)
- Win32 API 控制台光标在 WriteConsole 后不移动
- 如何删除列出的"QGraphicsPathItem"对象以控制进程内存使用情况?
- 在 macOS 中使用 C/C++ 设置鼠标光标图像
- 从 QML 更好地控制文本光标
- 如何在 c++ 控制台应用程序中控制光标位置
- 如何在不移动C 中的光标坐标的情况下输出文本以控制特定坐标
- 在COUT字符串期间,在控制台上闪烁光标
- 光标位置 在控制台上需要有关此代码的帮助
- c++:使用多线程在控制台中移动光标
- 在控制台上移动光标