About system("PAUSE")
我想很多人寫console程式的時候
都喜歡用system("PAUSE")來暫停程式
以方便看結果
筆者也是
但是用歸用
還是要來了解一下
system("PAUSE")到底做了哪些事
1. 什麼是system("PAUSE")
其實他就是在你的程式下面再執行另外一支叫做pause.exe的程式
不信的話, 你可以命令字元下面輸入 pause.exe
如何^^
如果是由你的程式去執行的話, 就等於你開了兩支程式
2. 這樣做會有什麼問題
pause.exe 是你windows中的一支程式
如果你今天不是在windows的作業系統下執行
或是那個版本的windows不提供pause.exe ( 不過目前windows7都還有啦XD )
或者pause.exe被某個手賤的白目刪掉了 (感覺好像在說自己=..=a)
那這時候程式就會出問題了
3. 那我可以怎麼做
可以用以下的程式碼取代 system("PAUSE")
char cPause;
do
{
cPause = ::getchar();
if(cPause == EOF)
break;
} while(cPause != '\n');
是有點麻煩啦
只是會安全點
不過如果只是要求方便快速的話
其實繼續使用system("PAUSE")也沒有什麼不可以