将光标移动到控制台的左下角

Moving the cursor to the bottom left of the console

本文关键字:左下角 控制台 光标 移动      更新时间:2023-10-16

如何将 Linux 控制台中的光标位置移动到左下角?我知道我会写

std::cout << "33[1;1H";

将光标移动到左上角。但是,显然没有代码可以使用一个命令将其移动到左下角。

我不想使用像 ncurses 这样的外部库。

xterm可以显式地执行此操作(请参阅XTerm控制序列):

std::cout << "33F";

或在壳中

printf '33F'

但并非所有的"xterm"类似物都实现了xterm所做的一切。 对于这些,您可以通过告诉它在左边距上向下移动制定"足够好"的解决方案。 这将适用于您可能使用的任何终端:

std::cout << "33[9999;1H";

在壳中:

tput cup 9999 0

(假设您的终端少于 10,000 行)。

您的"标准 Ubuntu 终端"可能支持 xterm 转义码: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html

具体请参阅:

中证 ;P s ;啪�� P s = 1 9 → 以字符为单位报告屏幕大小。结果是 CSI 9 ;高度;宽度 T

。和。。。

ESC Y P s P s 将光标移动到给定的行和列。

"CSI"在 http://en.wikipedia.org/wiki/ANSI_escape_code 解释