不使用退格键替换Linux终端中的文本

时间:2014-01-15 15:47:36

标签: c++ linux io fortran

我有兴趣编写一个程序(Fortran,C ++,无所谓),它甚至可以用于图形和图表的终端输出。如果我显示文本,如何在不退回整个部分的情况下返回并仅替换一个字母,然后重写所有内容?这会产生闪烁效果,我想知道是否有一种方法可以选择要更改的字符而不必删除和重写。

这种语言是否依赖?如果是这样,有人可以指出我正确的Fortran和C ++方向吗?

1 个答案:

答案 0 :(得分:3)

为输入和输出流设置C ++体系结构。要正确控制显示,您可能希望使用NCURSES。

您可以这样做来更改一个字符:

#include <ncurses.h>

int main(void)
{
    int i = 37;

    initscr(); // Start ncurses' main windows (invisible)
    noecho(); // Do not show text typed in with the keyboard
    printw("Hello Gourld!\nI am %d years old today.\n", i);
    refresh(); // Display what you print 
    getch(); // Wait for key press.

    move(0, 6); // Move to y=0; x=6;
    addch('w'); // Change character to 'w'
    refresh(); // Display change
    getch();

    endwin();
    return 0;
}