2014-01-15 68 views
0

我有興趣編寫一個使用終端作爲輸出的程序(Fortran,C++,無所謂),甚至可能用於圖表和圖表。如果我顯示文字,我如何返回並僅替換一個字母而不填寫整個部分,然後重寫所有部分?這會產生一個閃爍的效果,我想知道是否有一種方法可以選擇字符進行更改,而不必擦除和重寫。在不使用退格的情況下替換Linux終端中的文本

這種語言是否依賴?如果是這樣,有人可以請我指出Fortran和C++的正確方向嗎?

+5

查找'ncurses'庫。 –

回答

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; 
} 
+0

我得到了使用庫的想法,但從未使用它,你的代碼沒有意義。你可能會寫一個很簡短的概念證明C++代碼嗎? – drjrm3

+1

@ Laurbert515我認爲這個簡短的例子很自我解釋! –

+1

@ Laurbert515,沒有必要的概念證明。 [Ncurses](http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/)已經存在了數十年。你只需要做一些網絡搜索,你會得到代碼樣本豐富。它基本上就是或者咬緊牙關,用完整的圖形用戶界面來進行操作。 – Duck

相關問題