看板 b96902HW 關於我們 聯絡資訊
EOF 是一個字元還是什麼格式的呀XXXD 我用Dev要按什麼才是代表EOF 好心人士請解答... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.241.20
rbx:我知道工作站是ctrl+d 10/13 03:28
purincess:windows的command prompt應該是ctrl+z吧 10/13 03:35
ryannecheng:unix是ctrl+d windows是ctrl+c 10/13 12:15
imprazaguy:其實你可以去wiki查,結果是windows下為Ctrl+Z 10/13 13:46
primes:是ctrl+c 經助教證實過 10/13 21:14
DongWei:EOF是ctrl+z...ctrl+c是強制結束... 10/13 23:00
imprazaguy:雖然爭辯這個問題沒有什麼太大的意義,不過我還是去測 10/13 23:12
imprazaguy:試一下,測試平台是WindowsXP,編譯器VC++。 10/13 23:13
imprazaguy:使用scanf等等有buffer的IO函式,你輸入EOF不會馬上動 10/13 23:14
imprazaguy:做,需要再按下Enter。這點跟Linux不同,Linux下會直接 10/13 23:15
imprazaguy:讀取。不過兩者有個相同的地方就是,都必須只輸入EOF才 10/13 23:17
imprazaguy:會動作,若之前有包含別的字元就沒反應 10/13 23:19
imprazaguy:結論:按下Ctrl+C,在Linux與Window中同樣是強制中斷, 10/13 23:20
imprazaguy:會直接跳出。 10/13 23:22
imprazaguy:EOF在Windows下是Ctrl+Z,Linux下是Ctrl+D,不過前者需 10/13 23:22
imprazaguy:按下Enter才會讀取EOF,但後者不用。 10/13 23:23
imprazaguy:結束了,感謝你看完,我覺得好空虛啊~~! 10/13 23:24
imprazaguy:附上測試用的Code 10/13 23:26
imprazaguy:#include <stdio.h> 10/13 23:26
imprazaguy:int main() 10/13 23:26
imprazaguy:{ 10/13 23:27
imprazaguy: while(getchar()!=EOF) ; 10/13 23:27
imprazaguy: printf("get EOF"); 10/13 23:27
imprazaguy: getchar();/* please press enter to leave. */ 10/13 23:27
imprazaguy: return 0; 10/13 23:28
imprazaguy:} 10/13 23:28