将文本光标移动到特定的屏幕坐标?

use*_*138 5 c c++ windows console

如何在C或C++中将光标设置在控制台上的所需位置?

我记得一个叫做的函数gotoxy(x,y),但我认为它被弃用了.还有其他选择吗?

Joh*_*ode 8

C 和 C++ 都没有屏幕或控制台的概念;他们只看到字节流,没有固有的显示特性。有许多像ncurses这样的第三方 API可以帮助您做到这一点。

如果您想要一个快速的解决方案并且您正在使用的终端理解ANSI 转义序列,那么您可以执行以下操作

printf("\033[%d;%dH", row, col);
Run Code Online (Sandbox Code Playgroud)

将光标移动到特定的行和列(其中左上角为 {1,1})。不过,您最好使用 ncurses(或适用于您的平台的等价物)。


Har*_*ton 5

使用SetConsoleCursorPosition。

MSDN 库的同一部分还有许多其他函数。其中一些也可能有用。