當我編譯一個程序並運行exe文件時,它會自動關閉。有什麼辦法可以避免它?我知道你可以放system("pause")
,但是我聽說建議不要使用它,或者你可以在最後放入cin
,並等待用戶在關閉前按下某些東西。但是有什麼「真正的」官方方式讓程序停止?在編譯後暫停C++程序
回答
你的程序有,你想要它做什麼。 這意味着,對於'C++',在沒有更多指令運行時終止。
你有很多方法來停止你的程序(等待一些信號,從套接字接收數據,...)。從stdin
中讀取可能是最簡單的方法。
system("pause")
不推薦使用,因爲它只是調用系統功能Pause
,在某些環境中可能沒有這種功能。
或者更糟糕的是,這個功能確實可怕。 – chris 2013-05-02 22:07:37
您是否使用Visual Studio?如果是和它的前2010再按CTRL + F5版本會做的伎倆
如果一個版本之後....
這可能幫助
的Windows解決方案visual studio compiler只:
fflush(stdin);
getchar()
從什麼時候可以刷新標準輸入? – 2013-05-03 00:21:34
@ThomasMatthews根據msdn:fflush輸入流是C標準的擴展 – 2013-05-03 05:53:42
如果 「開始不調試」 按Ctrl +F5,那麼程序退出後,控制檯窗口將保持打開狀態,並顯示一條Press any key to continue . . .
消息,直到您按任何按鈕。這是最好的解決方案,因爲它不需要任何代碼修改,而如果您進行調試,您可以在任何地方設置斷點。
適用於所有版本的Visual Studio,非常標準的東西。
- 1. 克服編譯(?)暫停* secondary *初始ASP.Net應用程序啓動?
- 2. 程序暫停在循環
- 3. C++程序編譯
- 4. 編譯C++程序
- 5. BCP在上傳過程中暫停 - 在ctrl-C後繼續C
- 6. C#程序 - 暫停或睡眠完成
- 7. 如何暫停執行C#.NET程序?
- 8. C++使用cin.get暫停程序()
- 9. 如何在C中編譯C程序?
- 10. 在Objective-C編譯器上編譯不正確的C程序
- 11. 如何在程序崩潰後暫停所有線程?
- 12. 在調用方法後暫停線程
- 13. Thread.sleep暫停整個程序
- 14. 暫停應用程序
- 15. 暫停組裝程序
- 16. C程序不編譯
- 17. C程序編譯錯誤
- 18. 編譯繼承程序C++
- 19. C程序分步編譯
- 20. C#編譯Visual Studio程序
- 21. C++程序無法編譯
- 22. C程序編譯錯誤
- 23. 無法編譯C程序
- 24. 如何編譯C程序?
- 25. 在C中運行/暫停子進程?
- 26. MediaPlayer在暫停後完成
- 27. NSURLSessionDataTask在後臺暫停嗎?
- 28. 在TweenJS循環後暫停
- 29. 程序不會在getch中暫停()
- 30. 在Android中暫停應用程序
運行它從命令提示符控制檯:) – Ryan 2013-05-02 22:01:55
這將工作對我來說,但如果我把exe文件給別人運行,我不希望他們使用命令提示符 – FJam 2013-05-02 22:03:01
你可以給他們一個批處理文件,最後的'暫停'命令。這樣,你可以避免在代碼中使用'system(「pause」)',如果有人想從命令提示符運行它,他們可以。 – austin 2013-05-02 22:05:05