[問題] cin的eof()問題

看板C_and_CPP (C/C++)作者 (蟹老闆)時間16年前 (2009/02/03 01:50), 編輯推噓5(507)
留言12則, 4人參與, 最新討論串1/1
int main() { int a=-1; while(true) { cin>> a; if(cin.eof()) break; } cout<<a<<endl; } 輸入 "1 ^z" 輸出卻是 -1 why ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.91.181

02/03 02:33, , 1F
EOF=-1
02/03 02:33, 1F

02/03 08:39, , 2F
應該不是這個原因,我把a改成-2,輸出會變-2
02/03 08:39, 2F

02/03 11:49, , 3F
true.....
02/03 11:49, 3F

02/03 14:01, , 4F
true ??
02/03 14:01, 4F

02/03 21:19, , 5F
我想請問一下 這程式 要輸入什麼 他才會停阿 .... ????
02/03 21:19, 5F

02/03 21:20, , 6F
cin.eof() 的意思是什麼???
02/03 21:20, 6F

02/03 21:32, , 7F
輸入ctrl+Z 也就是EOF的意思
02/03 21:32, 7F

02/03 21:36, , 8F
我用VC跑 我輸入 1 ^z 就一直在無窮迴圈裡跑 也不能輸入 ..
02/03 21:36, 8F

02/03 22:05, , 9F
換在dos下執行試試,不要直接按vc的run
02/03 22:05, 9F

02/04 09:01, , 10F
一樣 ... 分開打執行沒問題 打成同一行 就會有問題
02/04 09:01, 10F

02/04 09:19, , 11F
那我就不知道了,我用的是g++
02/04 09:19, 11F

02/04 13:40, , 12F
我用g++ 也沒問題 vc有問題 ...
02/04 13:40, 12F
文章代碼(AID): #19Xp9AT- (C_and_CPP)
文章代碼(AID): #19Xp9AT- (C_and_CPP)