解決 C/C++ 程式執行一閃而過的方法
阿新 • • 發佈:2019-02-16
簡述
在 VS 編寫控制檯程式的時候,包括使用其他 IDE(Visual C++)編寫 C/C++ 程式,經常會看到程式的執行結果一閃而過,要解決這個問題,可以在程式碼的最後加上 system("pause")
、getchar()
、cin.get()
。
|
推薦方法
比較常用的做法是使用 system("pause")
,但這篇文章:Things to Avoid in C/C++ -- system("pause")
不推薦使用 system("pause")
,因為:
- 不可移植:只適合 Dos 或 Windows,不適合 Linux 等。
- 耗費系統資源:呼叫系統命令
system()
- 必須新增標頭檔案:
stdlib.h
或cstdlib
。
所以,應該儘量摒棄。
推薦方法:
- 在 C 中,使用
getchar()
。 - 在 C++ 中,使用
cin.get()
。
替代方法
豐富一下兩種替代方法:
在 C 中:
printf("按任意鍵繼續……");
getchar();
在 C++ 中:
cout<<"按任意鍵繼續……";
cin.clear();
cin.sync();
cin.get();
加上 cin.clear()
、cin.sync()
這兩句,是清空快取區,讓 cin.get()
真正接收到你的鍵盤輸入。