目录
1.如何判断文件读取结束
文本文件可以用fgetc,fgets函数
gertc返回的是EOF或者fgets函数返回的是NULL代表文件读取结束了
二进制文件可以用fread函数
fread函数的返回值是实际读取的个数,如果未读取到,返回的是0,
可以用fread函数返回值是否小于你实际让他读取的个数来判断文件是否结束
2.怎么判断文件是因为什么结束的
文件结束的原因很多,但无外乎两个节点,一个是一直读取直到读完的结束,一个是读取过程发生意外而中断的结束
被误解的feof函数
在此之前
先说一个一直被大家误解的函数feof,很多人利用这个函数的返回值来判断文件是否读取结束。
但是feof实际上是用来判断文件是因为什么而结束的。
判断文件怎么结束可以参考一下方法
feof返回非零代表文件是因为遇到文件末尾结束的
ferro返回非零证明是读取的时候失败的
两个函数的参数都是文件流,直接给文件指针就行了
利用变量ch,fgetc获取读到的字符,直到变量ch得到EOF,然后先用ferror判断是否返回非零,如果返回零还需要再用feof判断
fgetc——》获得EOF——》ferror,文件是否读取时结束——》feof,文件是否遇到末尾结束