【发布时间】:2018-12-04 02:44:04
【问题描述】:
如果我在控制台打印了 10 行,那么如果我们想修改第二行(或将光标移动到第二行),如何在 C 中做到这一点?是否有任何转义序列,或任何将光标移动到所需坐标的方法?
【问题讨论】:
-
C 语言本身没有控制台或终端的知识。 POSIX 确实知道终端,但它没有为终端控制定义特定的转义序列,事实上,历史上存在相当多的终端类型具有不同的控制代码集。如果您想要一个支持在屏幕上移动光标的基于文本的界面,那么您应该查看支持它的各种外部库。使用最广泛的一种是 (n)curses。
-
这很有可能是有效的:
Esc[row_number;column_numberH。 (数字是纯 ascii 表示)。如上面评论所述,它无法正常工作...... -
您使用的是哪个操作系统?
-
@anoopknr zorin(ubuntu 16.04 LTS)