日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

curses開發(fā)包的man_page

【curses開發(fā)包的man_page】
這是第一篇,由于平時比較忙,所以只能利用晚上的時間來譯,今后還會有其他的相關(guān)譯出來.
curses(S)
*********
____________________________________________________________________________
curses-CRT屏幕處理與優(yōu)化包
語法
======
cc ... -lcurses
#include
描述
===========
curses庫例程為用戶提供了一個獨立于終端的、對更新字符屏幕進行合理優(yōu)化的方法,使用這些例程的程序必須使用-lcurses選項進行編譯 。
curses包允許:
o 全屏幕,窗口和光條操縱
o 輸出到窗口和光條
o讀取終端輸入
o控制終端與光標的輸入和輸出選項
o環(huán)境查詢例程
o色彩操縱
o使用軟標簽鍵
o終端信息的存取
o使用低級curses例程
在使用任何一個處理窗口與屏幕的例程之前,必須調(diào)用initscr或newterm對例程進行初始化 。
在退出前必須調(diào)用endwin例程 。大多數(shù)交互的,面向屏幕的程序需要無回顯的單字符輸入,要達到此目的,要按以下順序進行:
cbreak();
noecho();
也有多數(shù)程序會按這個順序:
nonl();
intrflush(stdscr,FALSE);
keypad(stdscr,TRUE);
在你運行一個curses()程序前,如果終端定義了tab鍵寬度,則必須對其進行設(shè)置并在初始化串中輸出,你可以在shell環(huán)境變量TERM輸出后用命令tput_init來設(shè)置 。(參見terminfo(F)和terminfo(M)以獲取詳細信息) 。
curses()庫允許你操縱叫做窗口的數(shù)據(jù)結(jié)構(gòu),窗口可以看作是二維的字符數(shù)組 。此例程庫提供了一個默認的窗口stdscr,就是整個終端的大小 。你可以用newwin()來創(chuàng)建其他的窗口 。
窗口由聲明為WINDOW *的變量來引用 。這些數(shù)據(jù)結(jié)構(gòu)的操縱由在cursesr 的幫助文件中描述的例程來進行(這些例程均以"curs_"開頭) 。其中最基本的例程是move()和addch() 。庫中包含了這些例程的更為通用的版本,可以讓你指定一個窗口 。
在例程完成對一個窗口的維護后,調(diào)用refresh()告訴curses()使用戶的屏幕看上去更象stdscr.窗口中的字符實際上是chtype類型(包括字符和屬性數(shù)據(jù))以便將有關(guān)字符的其他信息與每個字符一同存貯.
叫做光條(pad)的窗口同樣可以維護.他們也是一些窗口,但可能不與屏幕中的一個可視的區(qū)域相關(guān)聯(lián).參考cur_pad(S)可得到更多的信息.
除了在屏幕上顯示字符以外,你也可使用視頻屬性和色彩,輸出加下劃線的字符,反顯的圖象,或在支持彩色模式的終端上顯示彩色字符.你還可輸出帶有刪除線的字符.(line-drawing是批帶有刪除線還是指用線條畫出的字符?)對于輸入,curses()也可將方向鍵和功能鍵的轉(zhuǎn)義序列譯為單獨的鍵值.視頻屬性,劃線字符和輸入鍵名,在curses.h中定義,如A_REVERSE, ACS_HLINE, 和 KEY_LEFT.
curses()中也有操縱彩色數(shù)字字符終端上色彩顯示的例程.使用時,要先調(diào)用start_color(),通常是在initscr()后馬上調(diào)用.彩色通常成對使用,稱為色彩對.一個色彩對有一個前景色(字符顏色)和一個背景色(字符在其上顯示的區(qū)域的顏色).
你在使用時要用init_pair()例程對一個色彩對進行初始化.初始化后,就能象使用其他視頻屬性一樣使用在curses.h中定義的一個宏COLOR_PAIR(n).如果終端可以重新定義彩色,那么以下的例程很有用處:
o has_color根據(jù)終端是否支持彩色返回TRUE或FALSE.
o can_change_color()根據(jù)用戶是否可以改變顏色返回TRUE或FALSE.
o color_content( )向用戶報告在一個初始化的顏色中紅綠藍的數(shù)量.
o pair_content( )向用戶報告當前的特定彩色對是如何定義的.
o init_color( ) 改變一個彩色的定義.
如果設(shè)置了環(huán)境變量LINES和COLUMNS ,或者如果程序在一個窗口環(huán)境中運行,則環(huán)境中的行列信息會覆蓋由terminfo()讀取的信息.在窗口環(huán)境中運行的程序需要這么做是因為屏幕是可以改變的.

推薦閱讀