【发布时间】:2018-06-16 03:25:36
【问题描述】:
我正在尝试从一个小 c 程序中获取光标位置,所以在谷歌搜索后我发现了这个 ANSI 代码\x1b[6n。它应该返回光标的 x 和 y 位置(如果我没记错的话)
所以
printf("\x1b[6n");
正在给我输出:;1R
我无法理解 x 和 y 位置的输出。
编辑: 平台是 Linux (xterm)
【问题讨论】:
-
在 C 中获取光标位置的工作比您预期的要多得多。由于 C 标准没有任何鼠标光标的概念,因此这个问题的答案将取决于您使用的环境和操作系统。如果 Linux/Unix/BSD 带有 X Window 系统,请参阅this。否则请说明。
-
对于 MS Windows,请参阅
GetCurPos()。 -
各种页面告诉您有关 ANSI 代码的信息。这是一个:en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences
-
我知道 ANSI 代码,但我问的是输出,这让我很头疼,因为我无法理解它