[英]Text-cursor position handling in C (under Linux)
我正在尝试将文本光标重新定位到每帧控制台的左上角,因此生成的正方形呈现在相同位置
#include <stdio.h>
#include <stdlib.h>
int main() {
while(1) {
printf("\u2554\u2550\u2550\u2550\u2557\n\u255A\u2550\u2550\u2550\u255D\n");
}
}
我发现通过包含<windows.h>
在 Windows 中这是可能的:
HANDLE hOut;
COORD Position;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
Position.X = 0;
Position.Y = 0;
SetConsoleCursorPosition(hOut,Position);
我怎么能在 Ubuntu 中做到这一点?
将\\033[H
写入控制台,这会将光标置于终端的左上角。
为此,终端必须与 ANSI 兼容(例如, xterm
终端或 linux 控制台)
无论如何,我建议您使用 ncurses 库,它为您提供了许多可能性,除此之外,并且以与终端类型无关的方式(因此它几乎可以在任何已知的终端类型中运行,例如 hp 终端)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.