c - 获取我正在写的哪个终端专栏

标签 c terminal

在我的 C 程序中,我想知道我的光标在终端中的位置。例如,另一个程序可能在我之前写了一些东西,我想知道在终端的最后一列之前还剩下多少空间,或者我不知道终端对某些特殊序列的 react (比如颜色:我可以写它但它们没有显示)。

有什么建议吗?

编辑:最好避免像 ncurses 这样的复杂解决方案(ncurses 不直接知道光标在哪里:它计算它的位置)。

编辑 2:我找到了一种方法,但它只适用于非图形终端:https://www.linuxquestions.org/questions/programming-9/get-cursor-position-in-c-947833/

编辑 3:不错的代码,运行良好,但它使用/dev/vcsaN(与编辑 2 相同的问题):http://dell9.ma.utexas.edu/cgi-bin/man-cgi?vcs+4

最佳答案

Ncurses 是一个庞大而强大的库,用于创建基于终端的文本界面。

tputs 是一个简单的低级通用函数,用于操作终端功能。

两者都能满足您的需求。

关于c - 获取我正在写的哪个终端专栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452301/

相关文章:

c - 与 qsort 相比,可重入 qsort_r 函数的可移植性如何?

c - 从 C 中的帧中提取错误的数据?

terminal - 如何在Debian下在GNU screen 中获得40多个窗口

c - 给出 5 个参数,但在终端中只得到 3 个参数

python - 我可以制作一个脚本来打开终端并运行 .py 吗?

python - 使用颜色/样式格式时出现奇怪的终端输出

c - 在 c 中包含多个 header 的 Makefile

c - 哈希表中的段错误

C++ `assign()` 等价于 C

perl - Perl-由打印中未初始化的值引起的错误