在我的 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/