第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

非阻塞鍵盤輸入

非阻塞鍵盤輸入

瀟湘沐 2019-06-29 10:01:22
非阻塞鍵盤輸入我試圖用C(在Linux上)編寫一個循環(huán)程序,直到用戶按下一個鍵,但不應(yīng)該需要按鍵才能繼續(xù)每個循環(huán)。有什么簡單的方法嗎?我想我可以用select()但這似乎是很多工作?;蛘撸欠裼幸环N方法可以捕獲克特-c在程序關(guān)閉之前按下鍵進行清理,而不是非阻塞的io?
查看完整描述

3 回答

?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

select()有點太低了,太不方便了。我建議你用ncurses庫將終端置于中斷模式和延遲模式,然后調(diào)用getch(),它將返回ERR如果沒有準(zhǔn)備好字符:

WINDOW *w = initscr();cbreak();nodelay(w, TRUE);

在那個時候你可以打電話給getch沒有阻塞。


查看完整回答
反對 回復(fù) 2019-06-29
?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

在UNIX系統(tǒng)上,可以使用sigaction注冊信號處理程序的調(diào)用SIGINT表示控制+C鍵序列的信號。信號處理程序可以設(shè)置一個標(biāo)志,該標(biāo)志將在循環(huán)中簽入,使其能夠適當(dāng)?shù)刂袛唷?/trans>


查看完整回答
反對 回復(fù) 2019-06-29
  • 3 回答
  • 0 關(guān)注
  • 747 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號