我有一个程序在原始模式下使用终端,我想移动光标。我在哪里可以找到这个转义序列,如何从我的 c 程序内部将它发送到终端?
这是我目前拥有的:
char code[4];
code[0] = 27;
code[1] = 91;
code[2] = '*';
code[3] = 'D';
write(1, code, 4);
如果您想控制全屏,那么您应该查看ncurses库。这是一个用于全屏控制台程序的简单库,其中包含
您想使用termcap来获取此信息,因为它会有所不同,具体取决于用户所在的终端类型。
我建议您仔细研究curses或ncurses库,并计划使用其中一个,而不是自己动手。您的目标应该是使用终端描述的terminfo系统,而不是旧的termcap系统。另请参阅 O'Reilly 的书籍“ Termcap 和 Terminfo ”以及我最喜欢的书名(主要是因为我在编程时似乎花了很多时间诅咒)“ Progamming With Curses ”。(然而,那本书很古老——1986 年——还有其他关于同一主题的较新的书籍可能是更好的选择;不过,我仍然喜欢这个标题。)