社区
C语言
帖子详情
feof读写最后会再读入一次FF怎么解决
capcapcap哈哈
2020-01-18 03:05:29
怎么才能够保证读到文件最后就停下来不读FF,能不能做个标志位还是怎么操作呢?
我写的程序如下:
while(!feof(fp))
{
buf[selectBitSize] = fgetc(fp);
}
应该怎么操作下呢,去大佬给思路。
...全文
78
2
打赏
收藏
feof读写最后会再读入一次FF怎么解决
怎么才能够保证读到文件最后就停下来不读FF,能不能做个标志位还是怎么操作呢? 我写的程序如下: while(!feof(fp)) { buf[selectBitSize] = fgetc(fp); } 应该怎么操作下呢,去大佬给思路。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2020-01-18
打赏
举报
回复
fread(buffer, 1, 1024, fp); 少写了个参数
寻开心
2020-01-18
打赏
举报
回复
feof(fp) 必须是到尾巴了还读了一下,才发生设置eof的标记
可以如下方式
while (1) {
c = fgetc(fp);
if ( c == eof ) break;
else buf[selectBitSize]=c;
}
但是一个一个的读效率太低了
fread一次读一个数组,这个函数了解下
比如,定义一个char buffer[1024]
int nReadOK = fread(bufer, 1024, fp);
根据nReadOK来判断读取成功了多少,如果nReadOK是1024表示文件还有可能有剩余,继续读
如果不足1024表示到尾巴了,结束了
f
eof
()多读
一次
的
解决
方法
查看 stdio.h 可以看到...#define f
eof
(_stream) ((_stream)->_flag & _IO
EOF
) 由此可以看出,这两种方式的原理是不同的。 在这里先说下
EOF
和f
eof
()这个两个宏定义,在我们学的课本中有这样的描述。
EOF
是
f
eof
多读
一次
问题分析
在读完文件的
最后
一个字符后,fp->flag仍然没有被...对于f
eof
()这个函数, 它是先读再判断是否到文件尾, 也就是说在它之前一定要读
一次
才能做出判断。 而我们经常这样把它使用在循环中: int c; while(!f
eof
(fp))
EOF
和f
eof
()区别
首先来看他们两个的定义: #define
EOF
(-1) #define _IO
EOF
0x0010 #define f
eof
(_stream) ((_stream)->_flag & _IO
EOF
)
EOF
是不可输出字符,因此不...当
读入
的字符值等于
EOF
时,表示
读入
的已不是正常的...
f
eof
()和
EOF
的用法—— C中文件结尾的判断
<br /> 这个问题在大一的时候,老师上课就强调过,但那时只是模糊的记得个大概,记得这个函数如果用的不对就是
会
出现问题,
解决
是要先读一下,然后再判断,具体的什么还真实忘了。而且平常经常用的
EOF
,...
f
eof
()
查看 stdio.h 可以看到如下定义:define
EOF
(-1)define _IO
EOF
0x0010define f
eof
(_stream) ((_stream)->_flag & _IO
EOF
)由此可以看出,这两种方式的原理是不同的。在这里先说下
EOF
和f
eof
()这个两个宏定义,在...
C语言
69,377
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章