藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 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



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com