【发布时间】:2013-04-08 06:09:44
【问题描述】:
我正在尝试使用以下代码检索 VT100 终端中光标的坐标:
void getCursor(int* x, int* y) {
printf("\033[6n");
scanf("\033[%d;%dR", x, y);
}
我正在使用以下 ANSI 转义序列:
设备状态报告 - ESC[6n
将光标位置报告给 应用程序(就像在键盘上键入一样)ESC[n;mR,其中 n 是 行,m 是列。
代码编译并发送 ANSI 序列,但是,在接收到它后,终端将 ^[[x;yR 字符串打印到 stdout 而不是 stdin,这使我无法从程序中检索它:
很明显,字符串是为程序指定的,所以我一定是做错了什么。有人知道是什么吗?
【问题讨论】:
标签: c terminal ncurses xterm ansi-escape