[問題] 單班計程

看板b96902HW作者 (blackeyes)時間16年前 (2007/10/13 03:19), 編輯推噓5(5021)
留言26則, 6人參與, 最新討論串1/2 (看更多)
EOF 是一個字元還是什麼格式的呀XXXD 我用Dev要按什麼才是代表EOF 好心人士請解答... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.241.20

10/13 03:28, , 1F
我知道工作站是ctrl+d
10/13 03:28, 1F

10/13 03:35, , 2F
windows的command prompt應該是ctrl+z吧
10/13 03:35, 2F

10/13 12:15, , 3F
unix是ctrl+d windows是ctrl+c
10/13 12:15, 3F

10/13 13:46, , 4F
其實你可以去wiki查,結果是windows下為Ctrl+Z
10/13 13:46, 4F

10/13 21:14, , 5F
是ctrl+c 經助教證實過
10/13 21:14, 5F

10/13 23:00, , 6F
EOF是ctrl+z...ctrl+c是強制結束...
10/13 23:00, 6F

10/13 23:12, , 7F
雖然爭辯這個問題沒有什麼太大的意義,不過我還是去測
10/13 23:12, 7F

10/13 23:13, , 8F
試一下,測試平台是WindowsXP,編譯器VC++。
10/13 23:13, 8F

10/13 23:14, , 9F
使用scanf等等有buffer的IO函式,你輸入EOF不會馬上動
10/13 23:14, 9F

10/13 23:15, , 10F
做,需要再按下Enter。這點跟Linux不同,Linux下會直接
10/13 23:15, 10F

10/13 23:17, , 11F
讀取。不過兩者有個相同的地方就是,都必須只輸入EOF才
10/13 23:17, 11F

10/13 23:19, , 12F
會動作,若之前有包含別的字元就沒反應
10/13 23:19, 12F

10/13 23:20, , 13F
結論:按下Ctrl+C,在Linux與Window中同樣是強制中斷,
10/13 23:20, 13F

10/13 23:22, , 14F
會直接跳出。
10/13 23:22, 14F

10/13 23:22, , 15F
EOF在Windows下是Ctrl+Z,Linux下是Ctrl+D,不過前者需
10/13 23:22, 15F

10/13 23:23, , 16F
按下Enter才會讀取EOF,但後者不用。
10/13 23:23, 16F

10/13 23:24, , 17F
結束了,感謝你看完,我覺得好空虛啊~~!
10/13 23:24, 17F

10/13 23:26, , 18F
附上測試用的Code
10/13 23:26, 18F

10/13 23:26, , 19F
#include <stdio.h>
10/13 23:26, 19F

10/13 23:26, , 20F
int main()
10/13 23:26, 20F

10/13 23:27, , 21F
{
10/13 23:27, 21F

10/13 23:27, , 22F
while(getchar()!=EOF) ;
10/13 23:27, 22F

10/13 23:27, , 23F
printf("get EOF");
10/13 23:27, 23F

10/13 23:27, , 24F
getchar();/* please press enter to leave. */
10/13 23:27, 24F

10/13 23:28, , 25F
return 0;
10/13 23:28, 25F

10/13 23:28, , 26F
}
10/13 23:28, 26F
文章代碼(AID): #173yZ2b- (b96902HW)
討論串 (同標題文章)
文章代碼(AID): #173yZ2b- (b96902HW)