system(”pause”) 不會用

2009-04-10 3:36 pm
1。雖然加上了 #include <stdlib.h>
但是 執行 system("pause");
會顯示 " sh: pause: command not foun......."


sh: pause: command not foun......
在windows系統下一定會顯示嗎?
有辦法消除嗎?


順便問一下
如果用cygwin編譯出來的程式
2。可以在WINDOWS系統下執行嗎?


因為我編譯出來的程式就算有打
system("pause")
還是出現一下子就跳掉了

回答 (3)

2009-04-11 5:28 pm
✔ 最佳答案
在 windows 環境下,你用 system("PAUSE") 跟 system("pause") 是一樣的效果的… 因為 "PAUSE" / "pause" 是傳給 windows 的 command prompt 去執行;而因為 windows 的 shell 不區別大小寫的,所以你用大寫還是小寫並無分別 (所以已跟 c++ 的語法有區別大小寫無關)…

板主的問題是因為你是在 cygwin (windows 系統下的類 linux 環境) 寫程式,所以你的 system("pause") 裡的 "pause" 事實上是被丟給 cygwin 作處理… 而因為 cygwin 下沒 pause 這個指令 (或執行檔),所以程式就不會 work 囉…

提供另一個解決的方法,就是另外寫一個程式,模擬 pause 會作的動作;把這個程式 compile 後改名叫作 "pause",並確定這個程式是放在你的 path 中,那之後你別的程式也可以用 system("pause") 來暫停程式… (可以這次大小寫就要注意,因為要是我沒記錯,cygwin 的 sh 對大小寫就有區分了)

在 windows 環境下,你用 system("PAUSE") 跟 system("pause") 是一樣的效果的… 因為 "PAUSE" / "pause" 是傳給 windows 的 command prompt 去執行;而 windows 的 shell 不區別大小寫 (所以已跟 c++ 的語法有區別大小寫無關)…

板主的問題是因為你是在 cygwin (windows 系統下的類 linux 環境) 寫程式,所以你的 system("pause") 裡的 "pause" 事實上是被丟給 cygwin 作處理… 而因為 cygwin 下沒 pause 這個指令 (或執行檔),所以程式就不會 work 囉…

下面就是一個 "pause" 程式的 code…

http://www.gidforums.com/t-12871.html


2009-04-11 2:22 am
這位大大,C++的語法有講究大小寫= =

system("PAUSE");

以上的"PAUSE"要大寫。
參考: 自己
2009-04-10 4:10 pm
Someone has answered a question just like this:
http://tw.knowledge.yahoo.com/question/question?qid=1507082911629


收錄日期: 2021-04-30 12:59:32
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090410000016KK01538

檢視 Wayback Machine 備份