c++中的文件结尾问题

ariesjzj
博客专家认证
2006-02-19 01:58:33
#include <iostream>
#include <fstream>
using namespace std;

int main()
{

ifstream cin("in.txt");
char c;
cin >> c;
cout << c << endl;
cin >> c;
cout << c << endl;
return 0;
}

文件in.txt内容:
a

运行结果:
a
a

问题:为什么文件里明明只有一个a,却能打出两个a来?
c++中的结尾符是什么?

...全文
194 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ariesjzj 2006-02-21
可它为什么不会读到文件结束符?
  • 打赏
  • 举报
回复
iawenll 2006-02-19
那是因为你 对文件进行了两次读取!
同时你的文件只有一个字符:
你可以将文件里增加多个字符试试: asafdgf
char c;
cin >> c;
cout << c << endl;
cin >> c;
cout << c << endl;

这样读取的结果就是:
a
s
  • 打赏
  • 举报
回复
qhfu 2006-02-19
改称这样?
#include <iostream>
#include <fstream>
using namespace std;

int main()
{

ifstream cin("in.txt");
char c;
while (cin >> c)
cout << c << endl;
return 0;
}
  • 打赏
  • 举报
回复
发帖
C++ 语言

6.2w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2006-02-19 01:58
社区公告
暂无公告