在这个程序中#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个赞
繁华开满天机
TA贡献1816条经验 获得超4个赞
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 关注
- 346 浏览
添加回答
举报
0/150
提交
取消