[問題] cin 與 eof的問題
最近寫程式,需要用eof來判斷資料輸入的終止
大致如下
for(a=0; a<5; a++){
while(cin >> input){
//do something
}
}
以上程式表示我需要輸入5組資料,
每組資料中又有不確定的筆數,要用eof來判斷終止
但我一旦輸入了一次eof,
程式卻會自動將我後面所有的cin通通判斷為eof
也就是a=1,2,3,4的時候就無法進入while裡面。
把cin部份改為scanf的話
while( scanf("%s", input) != EOF )
雖然不會有上面問題,
但^Z卻要輸入兩次才會讀到EOF...
只輸入一次^Z怎麼樣都無法跳出迴圈,一定要輸入第二次
整個不知道該怎麼修改啊orz
--
▄▄ ▄
▄██▄▄ ▄ ▄▄▄▄ ▄▄▄ ▄ ▄ ▄ ▄ ▄
▄▄ ▄▄▄ ▄ ________ ▄ ▄ ▄ ▄ ▄▄▄
▄▄ ▄▄▄ █▄ (Nintendo) ▄▄ ▄ ▄ ▄ ▄
▄▄▄▄ ▄▄ ▄  ̄ ̄ ̄ ̄ ▄▄▄ ▄▄▄▄ ▄
▄▄▄▄▄▄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.199.88
→
05/28 02:44, , 1F
05/28 02:44, 1F
→
05/28 02:46, , 2F
05/28 02:46, 2F
→
05/28 02:46, , 3F
05/28 02:46, 3F
→
05/28 02:55, , 4F
05/28 02:55, 4F
推
05/28 02:58, , 5F
05/28 02:58, 5F
→
05/28 02:58, , 6F
05/28 02:58, 6F
→
05/28 12:47, , 7F
05/28 12:47, 7F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):