2012-03-12 111 views
1

我正在製作一個原始時間守護程序,我想暫停並簡單按下一個鍵即可恢復。我已經告訴C++中的基本暫停/恢復功能

system("pause>null") 

暫停程序,直到一個鍵被擊中,但條件是怎麼寫的停下來開始?

最佳結構僞代碼:

if (certain_key_pressed) 
{ 
    pause_program_until_any_key_hit; 
} 
+0

pause> null將取決於操作系統。你有沒有看過標準的IO方法,看看存在哪些基本上可以讓你僞代碼的「原樣」? – John3136 2012-03-13 00:08:59

+0

可能重複的[如何模擬「按任意鍵繼續?」](http://stackoverflow.com/questions/1449324/how-to-simulate-press-any-key-to-continue) – Johnsyweb 2012-03-13 00:25:35

回答

0

有2個成語可以從這裏選擇。輪詢或事件驅動的編程。

輪詢是更簡單但通常不太優雅的解決方案,程序會定期檢查暫停按鈕是否在循環中被擊中。

While(not_quit) 
{ 
    if(key_pressed) 
     Etc... 

在事件驅動編程中,您可以使用事件處理程序註冊pauseButtonPressed事件。當按下暫停按鈕時,分配處理事件任務的特殊功能將調用暫停功能。

+0

事件驅動風格將完​​美地滿足我的需求。 – aadah 2012-03-13 01:36:53

0
if (certain_key_pressed) 
    while (true) 
    { 
     if (any_key_hit) 
      break; 
    } 

像這樣的暫停時按下特定按鍵被放置在(想必你的程序循環)的任何環。然後它會保持它暫停,直到任何鍵被擊中。