如何在 c 控制台应用程序中控制光标位置?

新手上路,请多包涵

我应该为学校项目创建一个控制台应用程序,它是关于数独游戏的,所以问题是我没有发现算法有任何困难,但我想知道我是否可以用 c++ 绘制完整的数独表并将其设为空正方形作为“数据”输入位置,因此用户可以使用箭头键将光标移动到特定数字的位置,以用适当的数字填充它。有没有办法做到这一点?

原文由 EL-Mehdi Loukach 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 652
1 个回答

这取决于您的操作系统/编译器。例如,在 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!");
}

原文由 Sergey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题