您的位置:首页 > Web前端

判断文件结尾的方法(feof函数和EOF)

2017-08-15 11:38 363 查看
当以文本方式读写文件时,可以用EOF判断文件是否结尾,因为EOF=-1,而字符的ASCII码不可能为负数。

例如,当fp为文本方式读取的指针时

getc(fp)!=EOF


可判断是否读到文件结尾

当以二进制方式读写文件时,只能用feof函数判断,因为二进制读取数值,可能为负。

feof函数原型为

int feof(FILE *stream)


当未读到结尾时,返回值为0,读到结尾时,返回值为1

feof不仅适用于二进制打开,文本方式打开也适用

注意:只有读出所有的数据之后,再读一次,函数feof(fp)的返回值才为真

因此,当要统计文件大小时,sizef应该-1

int sizefile(FILE *fp)
{
int sizef=0;
while(!feof(fp))
{
fgetc(fp);
sizef++;
}
rewind(fp) //使得文件指针重新指向开头
return sizef-1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: