linux 下 curses庫 安裝 和使用

2021-07-30 14:41:59 字數 1555 閱讀 3417

curses庫是一組函式,程式設計師可以用它們來設定游標的位置和終端螢幕上顯示的字元樣式。curses庫最初是由ucb的開發小組開發的。大部分控制終端螢幕的程式使用curses。曾經由一組簡單的函式組成的庫現在包括了許多複雜的特性。

ubuntu下安裝方法:

sudo apt-get install libncurses5-dev 

(如果發現找不到這個包,使用命令 sudo apt-get update 更新下包源)

curses的基本用法如下:

1. 包含標頭檔案:curses.h

2. 編譯時應加上鏈結語句-lcurses,如:gcc temp.c -o temp -lcurses

3. 重要的函式:

initscr():初始化curses庫和ttty。(在開始curses程式設計之前,必須使用initscr()這個函式來開啟curses模式)

endwin():關閉curses並重置tty。(結束curses程式設計時,最後呼叫的乙個函式)

move(y,x): 將游標移動至 x,y 的位置. 

getyx(win,y,x): 得到目前游標的位置. (請注意! 是 y,x 而不是&y,&x ) 

clear() and erase(): 將整個螢幕清除. (請注意配合refresh() 使用)

echochar(ch): 顯示某個字元. 

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, 從鍵盤讀取一串字元. 

beep(): 發出一聲嗶聲. 

box(win,ch1,ch2): 自動畫方框

refresh():   使螢幕按照你的意圖顯示。比較工作螢幕和真實螢幕的差異,然後refresh通過終端驅動送出那些能使真實螢幕於工作螢幕一致的字元和控制碼。(工作螢幕就像磁碟快取,curses中的大部分的函式都只對它進行修改)

standout(): 啟動standout模式(一般使螢幕髮色)

standend(): 關閉standout模式

常用的初始化函式集合:

void initial()

#include

#include

int main()

以上是curses庫的一些簡單的應用。現在學習要本著學以致用的目的。用多少就學多少,學過了就一定要學好!

linux 下 curses庫 安裝 和使用

curses庫是用來開發簡單圖形介面程式乙個庫 也許它的功能不止這些,但是目前我只知道這乙個!ubuntu下安裝方法 sudo apt get install libncurses5 dev curses的基本用法如下 1.包含標頭檔案 curses.h 3.重要的函式 initscr 在開始cur...

linux 下curses庫的安裝和使用

sudo apt get install libncurses5 dev curses的基本用法如下 1.包含標頭檔案 curses.h 3.重要的函式 initscr 初始化curses庫和ttty。在開始curses程式設計之前,必須使用initscr 這個函式來開啟curses模式 endwi...

08 螢幕程式設計curses庫

1 螢幕程式設計curses庫 curses庫是一組函式,是用來設定游標位置和終端螢幕上顯示的字元樣式。curses將螢幕看成二維網格,原點是螢幕左上角,行座標自上往下遞增,列座標自左向右遞增。基本的curses函式 2 curses內部工作原理 真實螢幕是眼前的乙個字元陣列。curses保留了螢幕...