freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機(jī)]ncurse庫的使用(已修改)

2025-08-30 16:26 本頁面
 

【正文】 用curses庫有個特點,就是要初始化一個窗口用函數(shù)initscr()。后面要用函數(shù)endwin來說明窗口結(jié)束! 我們現(xiàn)在知道了:在程序中調(diào)用initscr()函數(shù),會讓屏幕初始化并進(jìn)入CURSES模式。還有一些其它的函數(shù)可以根據(jù)我們自己的方案初始化CURSES。不同的初始化函數(shù)可以讓屏幕進(jìn)入不同的顯示模式。比如:終端模式(terminal mode)、彩色模式(color mode)、鼠標(biāo)模式(mouse mode)等等…… 通常情況下,用戶輸入的字符將被終端程序送入終端的緩沖區(qū)。但當(dāng)用戶輸入換行符時,終端程序?qū)袛?,同時輸出當(dāng)前的緩沖區(qū)內(nèi)容并啟用新行的輸出緩沖。但是大多數(shù)程序需要當(dāng)用戶輸入單個字符時,卻希望這些字符能夠立即顯示在屏幕上。這兩個函數(shù)就是用來禁用行緩沖(line buffering)。這兩個函數(shù)所初始化的的模式同樣可以用來給程序傳送控制字符,比如:掛起(CTRLZ)、中斷或退出(CTRLC)。區(qū)別在于,在raw()函數(shù)模式下,這些字符將傳送給程序去處理而不作為終端程序處理的信號。在cbreak()模式下,這些控制字符將被認(rèn)為是終端驅(qū)動程序中的控制字符,因而將這些字符傳送給終端程序。我比較喜歡使用raw(),那樣可以進(jìn)行更多的控制操作。 這兩個函數(shù)控制用戶輸入的鍵盤回顯。就是在運(yùn)行程序的時候是否將輸入的字符出現(xiàn)在屏幕上。比如你的程序在運(yùn)行時你需要使用控制字符,但是你不想讓控制字符出現(xiàn)在屏幕上,就可以使用這兩個函數(shù)。也就是說當(dāng)用戶調(diào)用getch()函數(shù)向程序輸入數(shù)據(jù)時,你不想讓他輸入的字符出現(xiàn)在屏幕上。noecho()函數(shù)就可以不讓控制字符(比如CTRLC)出現(xiàn)在屏幕上。大多數(shù)的交互式程序要進(jìn)入控制模式的時候,一般都使用echo()、noecho()函數(shù)初始化、關(guān)閉鍵盤回顯。這樣給了程序員更大的靈活性。 這個函數(shù)允許使用功能鍵:FF方向鍵等等……幾乎所有的交互式程序都使用這個函數(shù)。令用戶使用方向鍵控制整個用戶界面。使用keypad(stdscr,TURE)就可以在“標(biāo)準(zhǔn)顯示設(shè)備”(stdscr)上使用這些功能。在以后的章節(jié)中將詳細(xì)討論如何使用功能鍵。 這個函數(shù)雖然不經(jīng)常使用。但有時卻非常有用。halfdelay()函數(shù)會啟用半延時模式(halfdelay mode)。和cbreak()函數(shù)一樣,當(dāng)程序需要當(dāng)用戶輸入這些字符時,它們能夠立即顯示在屏幕上。但是它要停滯一段限定時間()等待輸入,如果沒有有效的輸入,返回ERR。給halfdelay()傳遞一個整型參數(shù)()。它就會按照參數(shù)中的時間等待用戶輸入。一般來說,這個函數(shù)在需要等待的輸入的程序中可以被用到,如果用戶沒有及時做出響應(yīng),程序就可以去處理其它的事情了。最常見到的應(yīng)用例子是在輸入密碼的出超時響應(yīng)。 上面的提到的這些函數(shù)可以定制CURSES在初始化后的行為。這些函數(shù)不能被廣泛使用在程序的各個部分。所以,這些函數(shù)的調(diào)用要處在整個CURSES會話的開始部分。 一個例子 讓我們寫一個程序用來說明這些函數(shù)的用法。 例2. 初始化函數(shù)用法的示例:include 。int main() { int ch。 initscr()。 /* 開始curses模式 */ raw()。 /* 禁止行緩沖 */ keypad(stdscr, TRUE)。 /* 開啟功能鍵響應(yīng)模式 */ noecho()。 /* 當(dāng)執(zhí)行g(shù)etch()函數(shù)的時候關(guān)閉鍵盤回顯 */ printw(Type any character to see it in bold\n)。 ch = getch()。 /* 如果沒有調(diào)用raw()函數(shù),必須先按下enter鍵才可以執(zhí)行下面的程序 */ if(ch == KEY_F(1)) /* 如果沒有調(diào)用keypad()初始化,將不會執(zhí)行這條語句 */ printw(F1 Key pressed)。 /* 如果沒有使用 noecho() 函數(shù),一些難看的控制字符將會被打印到屏幕上 */ else { printw(The pressed key is )。 attron(
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1