2012-02-19 378 views

回答

2

您可以使用ncurses庫來執行此操作。這個解決方案的缺點是你將無法使用cout來輸出。

#include <ncurses.h> 
int main() 
{ 
    initscr(); 
    printw("Press Any Key To Exit..."); 
    getch(); 
    endwin(); 
} 

編譯

4

試試這個: system("pause"); 它將一直持續到任何按鍵被按下。

編輯:請決定這種替代

+8

不便於攜帶,僅適用於Windows時,請務必-lncurses。 – Mat 2012-02-19 08:00:05

+0

我沒有downvote,但更詳細的解釋可能幫助:http://stackoverflow.com/questions/1107705/systempause-why-is-it-wrong – Necrolis 2012-02-19 08:07:18

+5

它甚至不是「僅適用於Windows」,它的「Windows命令提示符只」。它在Powershell中不起作用。 – 2012-02-19 08:10:52

2

getch()getche()system("pause")exit(0) ......應該工作之前閱讀下面的意見。

+1

請勿使用系統(「暫停」)。它很慢。它不喜歡防病毒軟件。它依賴於操作系統。這是一個巨大的巨大的安全漏洞。 – 2012-02-19 08:03:03

+1

@Sudhir:大多數評論是真實的,但第一句話是無稽之談。一個停頓怎麼會「慢」? – 2012-02-19 09:03:01

+0

@CodyGray Sudhir想聽起來像他知道他在做什麼,換句話說酷:-) – 2013-05-13 21:43:07

16

您可以使用getcharcin.get()來實現此目的,兩者都會阻止,直到他們可以從控制檯獲取角色(未輸入到控制檯的監控鍵導致系統特定領域)。

+3

我相信這兩個函數取決於所使用的終端仿真程序行爲不同。他們仍然需要在這裏按下回車鍵(xterm)。 – howardh 2012-02-19 08:34:54