在這個程序中#include<iostream>#include <fstream>using namespace std;void main(){fstream io;char c;io.open ("a.txt",ios::in);while (!io.eof ()){io>>c;cout<<c;}cout<<endl;io.close;}a.txt文本中里面有,abc為什么輸出的是abcc呢?
2 回答

慕的地10843
TA貢獻1785條經驗 獲得超8個贊

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
EOF在C++中的定義為:const int EOF = -1;
它這么定義是有道理的:
舉個例子來說
int ch; //注意:這里定義了ch是int型的,而不是char型的
while((ch = cin.get()) != EOF)
{
cout << ch;
}
cin.get()是讀取輸入流中的一個字節,但是時常忽略的,也是必須注意的是:那些C++的設計者們將cin.get()設計成返回int型,而不是char型,這不是令人挺奇怪的嗎?感覺char ch = cin.get()比較順其自然吧?原因就是為了能夠使cin.get()能夠返回一個EOF。
- 2 回答
- 0 關注
- 399 瀏覽
添加回答
舉報
0/150
提交
取消