在我的 C 程序中,我想知道我的光标在终端中的位置。例如,另一个程序可能在我之前写了一些东西,我想知道在终端的最后一列之前还剩下多少空间,或者我不知道终端对某些特殊序列的反应(比如颜色:我可以写但它们没有显示)。
有什么建议吗?
编辑:最好避免像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