C语言文件操作(四) —— 文件读取结束的判定(feof、ferror)

        目录

1、feof、ferror 函数返回值

(1) feof 函数

(2) ferror 函数

2、feof、ferror 函数函数使用


fgetc、fgets的返回值说明都有提到一句话 “调用失败或者文件读取结束时,函数返回EOF”。但是光凭EOF我们也无从知晓,是调用失败还是文件读取结束。

因此,C语言给我们提供了 feof、ferror 函数。这两个函数 一般可以配套使用,一个用来是否读取到文件尾,一个用来判断是否遇到错误(调用失败)。

  • feof:当文件读取结束时,判断是不是遇到文件末尾才结束的
  • ferror:当文件读取结束时,判断是不是遇到错误才读取结束的

1、feof、ferror 函数返回值

两个函数的参数都是 文件指针,这里需要注意的是两个函数的返回值。

(1) feof 函数

函数返回值:如果没有到文件尾,返回0;到达文件尾,返回一个非零值。

(2) ferror 函数

函数返回值:无错误出现时返回0;有错误出现时,返回一个非零值。

 

2、feof、ferror 函数函数使用

FILE* pf = fopen("D:\\data.txt", "r");
if (pf == NULL)
{
	perror("fopen");
	return -1;
}

fgetc(pf);
fgetc(pf);
fgetc(pf);
fgetc(pf);

if (ferror(pf))
{
	printf("读取时出现了IO错误");
}
else if (feof(pf))
{
	printf("成功到达文件尾");
}


fclose(pf);
pf = NULL;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值