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

curses開發(fā)包的man_page( 二 )


如果設(shè)置了環(huán)境變量TERMINFO,則所有使用curses()的程序在標(biāo)準(zhǔn)位置查找終端定義的信息前,都要先查找本地的終端定義信息.比如,如果TERM設(shè)為wyse150,則編譯的終端定義位于:
HTML.awk: part.03: 1917: Trying to use .nf indisplay, haventstarted.
fi 1>&2 /usr/lib/terminfo/w/wyse150
(注:此處我有些看不懂,反復(fù)讀了原文有N遍,懷疑是不是其manual_page頁的問題,總之,如有問題,請指正,譯者注)(w由wyse150的首字母拷貝而來,以免創(chuàng)建一個大目錄),而如果TERMINFO設(shè)為$HOME/myterms,curses()首先查找$HOME/myterms/w/wyse150,如果失敗,再查找/usr/lib/terminfo/w/wyse150 .這樣做對于開發(fā)實驗性的定義或者在/usr/lib/terminfo的寫權(quán)限禁止時很有用.
整型變量LINES和COLS在curses.h中定義,而且由initscr()例程根據(jù)屏幕大小填寫.常量TRUE值為1,FALSE值為0.
curses例程還定義了WINDOW *變量curscr,用在某些低級操作如清除或重寫屏幕的操作中.但它只能在很少的幾個例程中使用 。
國際化功能

對附加字符集,保存一個字符所需的字節(jié)數(shù)和列數(shù)是現(xiàn)場指定的.(LC_CTYPE類型)
你可以在字符種類表中指定它(指LC_CTYPE,譯者注).使其在編輯時完全適于字符級操作.
但對于格式屏幕,在其上隨意移動字符卻并不太好.
覆蓋字符的例程(如addch())工作于屏幕級別.用一個需要不同列數(shù)的字符覆蓋另一個字符會導(dǎo)致產(chǎn)生奇數(shù)個數(shù)的列,這些列用背景字符填充.
插入字符的例程(如insch())工作于字符級別(即在字符的邊界).一個新字符在當(dāng)前字符的前面插入,無論光標(biāo)當(dāng)前指向字符的哪一列.在插入前,光標(biāo)移動到字符的第一列.
刪除字符的例程(如delch())同樣工作于字符級別.光標(biāo)當(dāng)前指向的字符被刪除,無論光標(biāo)當(dāng)前指向字符的哪一列.在刪除前,光標(biāo)移動到字符的第一列.
你不能把一個多列字符放到一行的最后一列上.如果你企圖這樣做,最后一列被設(shè)為背景字符.這樣的操作也會產(chǎn)生由背景字符填充的奇數(shù)列.
在做了覆蓋一個窗口的邊緣的字符的操作后,會發(fā)生窗口的遮擋或覆蓋.這果如果產(chǎn)生有奇數(shù)列,將與字符操作級別同樣處理 。
光標(biāo)可放于窗口的任意位置.在插入或刪除操作前,它先移動到一個多列字符的第一列.
例程與參數(shù)名稱

許多curses()例程擁有兩個或更多版本:
o前綴為p的例程需要一個pad參數(shù).
o名字中有w的例程通常需要一個窗口參數(shù)或一個寬字符參數(shù).如果w在一個例程名字中出現(xiàn)了兩次,則該例程往往需要一個窗口參數(shù)和一個寬字符參數(shù).
o不需要pad或window參數(shù)的例程一般使用stdscr.
o前綴為mv的需要一個(x,y)坐標(biāo)以在操作前移動到該坐標(biāo)處.這些mv例程在調(diào)用其他例程前隱含有一個對move()的調(diào)用,坐標(biāo)y指(窗口的)行,x指列.左上角坐標(biāo)是(0,0),而不是(1,1).
o前綴為mvw的例程接受一個窗口參數(shù)和一對(x,y)坐標(biāo),窗口參數(shù)總是出現(xiàn)在坐標(biāo)之前.
在任何一種情形下,win是受影響的窗口,pad是受影響的光條,win和pad總是指向WINDOW類型的指針,設(shè)定選項的例程需要一個布爾型的標(biāo)志bf,它有TRUE和FALSE兩種狀態(tài);該標(biāo)志總是布爾型的.變量ch和attrs總是chtype類型.類型WINDOW,SCREEN,bool和chtype在curses.h中定義.類型TERMINAL在term.h中定義.其他所有的參數(shù)都是整型.許多例程可以通過將其作為嵌入宏的方式的加入優(yōu)化.在編譯時要使用:
cc ... -DPERFORMANCE 來明確指定.
例程名索引

下面的表格列出了每個curses例程名字和手冊中對其詳細描述的頁面名
-------------------------------------------
curses Routine Name Manual Page Name
-------------------------------------------
addch curs_addch(S)
addchnstr curs_addchstr(S)
addchstr curs_addchstr(S)
addnstr curs_addstr(S)
addnwstr curs_addwstr(S)
addstr curs_addstr(S)

推薦閱讀