sudo apt-get install libncurses5-dev
curses的基本用法如下:
1. 包含標頭檔案:curses.h
3. 重要的函式:
initscr():初始化curses庫和ttty。(在開始curses程式設計之前,必須使用initscr()這個函式來開啟curses模式)
endwin():關閉curses並重置tty。(結束curses程式設計時,最後呼叫的乙個函式)
cbreak():開啟cbreak模式,除了 delete 或 ctrl 等仍被視為特殊控制字元外一切輸入的字元將立刻被一一讀取
crmode():使得終端進入到cbreak模式。
raw()和cbreak()都可以禁止行緩衝。區別是:在raw()函式模式下,處理掛起(ctrlz)、終端或退出(ctrlc)等控制字元時,將直接傳送給程式去處理而不產生終端訊號;而在cbreak()函式模式下,控制字元被終端驅動程式解釋成其它字元。
move(y,x): 將游標移動至 x,y 的位置.
getyx(win,y,x): 得到目前游標的位置. (請注意! 是 y,x 而不是&y,&x )
clear() and erase(): 將整個螢幕清除. (請注意配合refresh() 使用)
echochar(ch): 顯示某個字元.
int noecho(void): 使用者輸入字元不回顯。
nl()/nonl():輸出時,換行是否作為回車字元。nl函式將換行作為回車符,而nonl作用相反。
addch(ch): 在當前位置畫字元ch
mvaddch(y,x,ch): 在(x,y) 上顯示某個字元. 相當於呼叫move(y,x);addch(ch);
addstr(str): 在當前位置畫字串str
mvaddstr(y,x,str): 在(x,y) 上顯示一串字串. 相當於呼叫move(y,x);addstr(str);
printw(format,str): 類似 printf() , 以一定的格式輸出至螢幕.
mvprintw(y,x,format,str): 在(x,y) 位置上做 printw 的工作. 相當於呼叫move(y,x);printw(format,str);
getch(): 從鍵盤讀取乙個字元. (注意! 傳回的是整數值)
getstr(): 從鍵盤讀取一串字元.
scanw(format,&arg1,&arg2...): 如同 scanf, 從鍵盤讀取一串字元.
int mvhline(int x, int y, chtype ch, int n);
int mvvline(int x, int y, chtype ch, int n); 在游標(x,y)位置畫n個ch組成的線。mvhlin畫水平線,mvvline畫豎線。游標位置不變。呼叫成功返回ok,否則返回err。
beep(): 發出一聲嗶聲.
box(win,ch1,ch2): 自動畫方框
intrflush(window *win,bool bf): win為標準輸出。當bf為true時輸入break,可以加快中斷的響應。但是,有可能會造成螢幕輸出資訊的混亂。
refresh(): 使螢幕按照你的意圖顯示。比較工作螢幕和真實螢幕的差異,然後refresh通過終端驅動送出那些能使真實螢幕於工作螢幕一致的字元和控制碼,把虛擬螢幕上的影象輸出到終端螢幕上。(工作螢幕就像磁碟快取,curses中的大部分的函式都只對它進行修改)呼叫成功返回ok,否則返回err。
standout(): 啟動standout模式(一般使螢幕髮色)
linux 下 curses庫 安裝 和使用
curses庫是用來開發簡單圖形介面程式乙個庫 也許它的功能不止這些,但是目前我只知道這乙個!ubuntu下安裝方法 sudo apt get install libncurses5 dev curses的基本用法如下 1.包含標頭檔案 curses.h 3.重要的函式 initscr 在開始cur...
linux 下 curses庫 安裝 和使用
curses庫是一組函式,程式設計師可以用它們來設定游標的位置和終端螢幕上顯示的字元樣式。curses庫最初是由ucb的開發小組開發的。大部分控制終端螢幕的程式使用curses。曾經由一組簡單的函式組成的庫現在包括了許多複雜的特性。ubuntu下安裝方法 sudo apt get install l...
Linux中的curses程式設計
記得在選修作業系統課程的時候,有一次不小心翻到教材後面,看到裡面介紹了乙個編寫動畫遊戲的函式庫,叫做curses。感覺很好玩,就跟著上面學了一段時間,還編寫了乙個小遊戲。curses是乙個函式庫,包含許多庫函式,專門用來進行unix終端環境下的螢幕介面處理及i o處理。但是在一般linux環境中不能...