論 system("PAUSE");

  • 9593
  • 0
  • c++
  • 2010-11-20

About system("PAUSE")

我想很多人寫console程式的時候

都喜歡用system("PAUSE")來暫停程式

以方便看結果

筆者也是

但是用歸用

還是要來了解一下

system("PAUSE")到底做了哪些事

 

1. 什麼是system("PAUSE")

其實他就是在你的程式下面再執行另外一支叫做pause.exe的程式

不信的話, 你可以命令字元下面輸入 pause.exe

image

如何^^

如果是由你的程式去執行的話, 就等於你開了兩支程式

 

 

 

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")也沒有什麼不可以