【问题标题】:How can I send terminal escape sequences in raw input mode?如何在原始输入模式下发送终端转义序列?
【发布时间】:2009-03-28 18:24:21
【问题描述】:

我有一个程序在原始模式下使用终端,我想移动光标。我在哪里可以找到转义序列以及如何从我的 c 程序内部将其发送到终端?

这是我目前拥有的:

char code[4];
code[0] = 27;
code[1] = 91;
code[2] = '*';
code[3] = 'D';
write(1, code, 4);

【问题讨论】:

    标签: c terminal escaping sequence


    【解决方案1】:

    如果您想控制全屏,那么您应该查看ncurses 库。这是一个用于全屏控制台程序的简单库,其中包含其他内容

    • 文本的全屏定位
    • 使用全键盘,包括功能键、插入/删除等
    • 使用属性进行着色、突出显示文本等

    【讨论】:

      【解决方案2】:

      您想使用termcap 来获取此信息,因为它会有所不同,具体取决于用户所在的终端类型。

      【讨论】:

        【解决方案3】:

        我建议您仔细研究cursesncurses 库,并计划使用其中一个而不是自己动手。您的目标应该是使用终端描述的terminfo 系统,而不是旧的termcap 系统。另请参阅 O'Reilly 的书籍“Termcap and Terminfo”和我最喜欢的书名(主要是因为我在编程时似乎花了很多时间诅咒)“Progamming With Curses”。 (但是,那本书很古老 - 1986 年 - 还有其他关于同一主题的较新书籍可能是更好的选择;不过,我仍然喜欢这个标题。)

        【讨论】:

          猜你喜欢
          • 2012-10-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-09
          • 2013-11-30
          • 1970-01-01
          • 2013-10-04
          • 2018-05-30
          相关资源
          最近更新 更多