【问题标题】:how to move cursor back in c console?如何在c控制台中将光标移回?
【发布时间】:2018-12-04 02:44:04
【问题描述】:

如果我在控制台打印了 10 行,那么如果我们想修改第二行(或将光标移动到第二行),如何在 C 中做到这一点?是否有任何转义序列,或任何将光标移动到所需坐标的方法?

【问题讨论】:

  • C 语言本身没有控制台或终端的知识。 POSIX 确实知道终端,但它没有为终端控制定义特定的转义序列,事实上,历史上存在相当多的终端类型具有不同的控制代码集。如果您想要一个支持在屏幕上移动光标的基于文本的界面,那么您应该查看支持它的各种外部库。使用最广泛的一种是 (n)curses。
  • 这很有可能是有效的:Esc[row_number ;column_number H。 (数字是纯 ascii 表示)。如上面评论所述,它无法正常工作......
  • 您使用的是哪个操作系统?
  • @anoopknr zorin(ubuntu 16.04 LTS)

标签: c terminal


【解决方案1】:

您可以使用 ANSI 转义序列来操作屏幕(包括光标位置)

ANSI-Escape-Sequences 列出了许多 ANSI 转义序列。

this 页面是关于同一主题的 wiki 文章

【讨论】:

    猜你喜欢
    • 2013-01-02
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    相关资源
    最近更新 更多