覆盖多个终端线

时间:2017-01-08 03:24:41

标签: c windows terminal

我正在尝试为使用类似循环的C项目制作一个简单的16 * 16终端显示器:

for(i = 1; i <= 256; i++) {
    printf("%c ", output[i-1]);
    if(i % 16 == 0) {
        printf("\n");
    }
}

要显示这样的东西(但是大两倍):

* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *

问题是,这显然只是在每次刷新显示时打印一个新的显示下面,当我需要打印 over 时。回车\r仅写入前一行,而我需要写入前16行。

有没有办法在C中这样做?我正在使用Windows,所以我不知道ncurses是否是一个选项。

2 个答案:

答案 0 :(得分:0)

您需要使用可以处理终端的库。其中一个库是ncurses

答案 1 :(得分:-2)

好的,我明白了:在Windows system("cls")上清除了终端。它清除所有这些而不是仅仅16行,但它完成了这项工作。