如何将 linux 控制台中的光标位置移动到左下角?我知道我会写
std::cout << "\033[1;1H";
将光标移动到左上角。但是,显然没有代码可以通过一个命令将其移动到左下角。
我不想使用像 ncurses 这样的外部库。
如何将 linux 控制台中的光标位置移动到左下角?我知道我会写
std::cout << "\033[1;1H";
将光标移动到左上角。但是,显然没有代码可以通过一个命令将其移动到左下角。
我不想使用像 ncurses 这样的外部库。
xterm 可以显式执行此操作(请参阅XTerm Control Sequences):
std::cout << "\033F";
或在外壳中
printf '\033F'
但并非所有的“xterm”相似物都实现了 xterm 所做的一切。对于那些,您可以通过告诉它在左边距上向下移动来制定一个“足够好”的解决方案。这适用于您可能使用的任何终端:
std::cout << "\033[9999;1H";
在外壳中:
tput cup 9999 0
(假设您的终端少于 10,000 行)。
您的“标准 Ubuntu 终端”可能支持 xterm 转义码:http: //invisible-island.net/xterm/ctlseqs/ctlseqs.html
具体见:
CSI P s ; P s ; P st P s = 1 9 → 以字符报告屏幕大小。结果是 CSI 9 ;高度 ; 宽度 t
...和...
ESC YP s P s 将光标移动到给定的行和列。