Ncurses介紹 (轉載)

衆所周知,linux下有大部分程序是基於字符終端的。字符終端是很高校很強大的工具,儘管linux在桌面環境方面不斷髮展,但是字符終端的功能從來都沒有被減弱,而且不斷有新的特性出現。

儘管字符界面可以讓使用者顯得很專業,不過它的“醜陋”是路人皆知的,很多新手因此望而卻步。如果在保持字符界面節省系統資源的情況下,具有良好的視覺特性,那麼某些人對它的看法或許會有改變。

當然,linux早就提供了一系列終端I/O的接口供用戶使用,不過這些函數數量不少,更有相當數量的標誌設置符,涉及到終端的很多細節。“波特率”這個東西有多少人聽過?在終端和主機還在用串口線連接的時代,“波特率”指的是每秒中傳輸的二進制數位數。

ncurse是終端下實現簡單圖形界面的不二選擇。ncurse的前身是curses,著名的vi就是基於curses的。ncurse提供了大量方便的接口供用戶使用,簡單舉例一下。

initscr():必須的,寫在最開始,ncurses幫你完成初始化。
endwin():必須的,寫在最後。
noecho():關閉回顯。
move(int x,int y):移動光標到x,y。
printw(“format string”,….):從光標處開始輸出,跟printf差不多。
refresh():輸出完畢要刷新才能顯示。
clear():清屏。
getch():從光標處讀入一個字符。

這些都是很簡單的了,我就用這些寫了個掃雷。當然還有很多關於“窗口”的函數,對,在終端顯示窗口,有興趣的可以看看手冊。

怎麼編譯呢?直接 gcc -o是不行的…你先要看看系統裏頭有沒有ncurse庫,沒有得自己編譯一個,這裏有詳細說明:http://lamp.linux.gov.cn/Linux/LFS-6.2/chapter06/ncurses.html

Ncurses是一個能提供功能鍵定義(快捷鍵),屏幕繪製以及基於文本終端的圖形互動功能的動態庫

什麼是Ncurses?

您希望您的程序有一個彩色的界面嗎?Ncurses是一個能提供基於文本終端窗口功能的動態庫. Ncurses可以:

只要您喜歡,您可以使用整個屏幕創建和管理一個窗口使用8種不同的彩色爲您的程序提供鼠標支持使用鍵盤上的功能鍵



Ncurses可以在任何遵循ANSI/POSIX標準的UNIX系統上運行,除此之外,它還可以從系統數據庫中檢測終端的屬性, 並且自動進行調整,提供一個不受終端約束的接口.因此,Ncurses可以在不同的系統平臺和不同的終端上工作的非常好.

mc工具集就是一個用ncurses寫的很好的例子,而且在終端上系統核心配置的界面同樣是用ncurses編寫的. 下面就是它們的截圖:





哪裏可以下載?

Ncurses是基於GNU/Linux發展的,請訪問 http://www.gnu.org/software/ncurses/以獲得最新的更新版本或者其他詳細信息以及相關鏈接 .

。。。。。。。。。。。。。。。。。。。


更詳細的介紹見http://www.360doc.com/content/10/0802/19/979491_43214658.shtml

發佈了0 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章