在这个程序中#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 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
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 关注
- 493 浏览
添加回答
举报
0/150
提交
取消