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