社区
C语言
帖子详情
为什么while(!infile.eof())时,会多循环一遍才结束?
sunblue
2003-08-24 03:27:20
3x
...全文
1173
3
打赏
收藏
为什么while(!infile.eof())时,会多循环一遍才结束?
3x
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunblue
2003-08-24
打赏
举报
回复
“文件指针指在最后这个位置,但它还不是文件尾的标志EOF,”
受教了,3x
一直以为是指向下一个字符了
yurling
2003-08-24
打赏
举报
回复
比如说,文件的最后一个字符串是a ,
当你在循环体里面读入后,文件指针指在最后这个位置,但它还不是文件尾的标志EOF,
所以,此时while(!infile.eof())将顺利通过,只有当这一个进入循环体内再次读文件时,
才会读到EOF标志,此后infile.eof()才会为真
解决的办法:把判断放在循环体内,读文件之后,其他操作之前
if(!infile.eof()) break;
point_to
2003-08-24
打赏
举报
回复
http://expert.csdn.net/Expert/topic/2143/2143562.xml?temp=.6750452
《你必须知道的495个C语言问题》
为什么这些问题如此频繁地出现? 60 5.15 有没有什么简单点儿的办法理解所有这些与空指针有关的东西呢? 60 5.16 考虑到有关空指针的所有这些困惑,要求它们的内部表示都必须为0不是更简单吗? 60 5.17 说真的...
c++
eof
读取文件最后一个字符读取两遍
在用ifstream
循环
(
eof
判断是否
结束
)读取文件中字符
时
,发现最后一个字符读取了两遍,原错误代码: char ch; ifstream in
file
("input.txt",ios::in); while(!in
file
.
eof
()) { in
file
>&...
文件读取信息,关于
eof
()多读取一次的问题
eod 是end of
file
的缩写 。 将 while(
file
.
eof
() != 1){
file
>> str; } 改成: while(
file
.peek() !=
EOF
){
file
>> str; }
文件
结束
符
EOF
ifstream 流 判断文件是否结尾的函数
eof
()
&...其实,
EOF
不是一个字符,它被定义为是 int 类型的一个负数(比如 -1)。
EOF
也不是文件中实际存在的内容。
EOF
也不是只表示读文件到了结尾这一状态(这种状态可以用 f
eof
() 来检测)...
ifstream(一)之
eof
() 函数——解决读取文件最后一个数据多读一次的方法
原文 对于文件的操作中主要有几种,无非就是写入、读取罢了。 打开文件
时
,主要有几种模式 ios::in,ios::binary,...在读取文件
时
我们要特别注意一个函数
eof
()该函数当文件指针到达文件尾
时
就返回为true,否则
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章