【问题标题】:sending escape sequences to terminal with NCurses使用 NCurses 向终端发送转义序列
【发布时间】:2020-07-07 05:42:47
【问题描述】:

所以我将 NCurses 用于一个项目,并且我使用它的终端接受特殊的转义序列,以实现播放音频等自定义功能。在发送这些转义序列时,光标的位置并不重要,但是在使用 printf 时,它不会被推送到输出流。有没有办法绕过ncurses直接写入终端?我听说可能会恢复流并在将它们还给 ncurses 之后,但这似乎很老套。

【问题讨论】:

标签: c ncurses


【解决方案1】:

我最终找到了一个 hacky 解决方案,因为我只需要将转义码发送到终端模拟器(光标位置和其他上下文无关紧要)

我使用 fputs 写入 STDOUT,然后使用 fflush() 将其推送到终端。

fputs("\033]16;2", stdout);
fflush(stdout);

【讨论】:

  • 这违背了使用 (n)curses 的全部目的...This answer 是一种更实际的做法,恕我直言。
猜你喜欢
  • 2015-05-09
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多