|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何按鍵取消操作
[code]
win=initscr();
clear();
raw();
echo();
......
這裡希望循環調用一個函數,直至這個函數成功或用戶按鍵取消
如何處理?是要用signal還是???
......
endwin();
[/code]
還有就是這個程序如果運行到一半,按del,會連shell都死了,必須殺死重新登陸才可以,是因為del後強行終止了,而沒有endwin()引起的嗎?
那如果這個程序嵌套調用了很多層的函數,如何截獲此信號而關閉win?是signal(alarm ....) |
如何按鍵取消操作
接收到取消鍵後endwin;exit |
如何按鍵取消操作
但在正常運行時是不需要用戶輸入的,如何做到正常運行時接受用戶按鍵?
而且按del的死機有可能正在做其他事 |
如何按鍵取消操作
必須殺死重新登陸才可以,是因為del後強行終止了,而沒有endwin()引起的嗎?
這個是因為del發送信號的原因。
那如果這個程序嵌套調用了很多層的函數,如何截獲此信號而關閉win?是signal(alarm ....)
參看signal和setjmp |
| |