扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-标准IO接口之检查和复位

2025/11/13
467
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

调用fread读取数据时,如果返回值小于参数nmemb所指定的值,表示发生了错误或者已经到了文件末尾(end-of-file),但fread无法具体确定是哪一种情况。在这种情况下,可以通过判断错误标志或end-of-file标志来确定具体的情况。

1.feof

用于检查stream所指文件的end-of-file标志是否存在。

1)头文件

#include <stdio.h>

2)函数原型

int feof(FILE *stream);

3)参数

stream:表示指定的文件。

4)返回值

如果返回一个非零值,表示设置了end-of-file标志;如果end-of-file未设置,则返回0。

2.ferror

用于检查stream所指文件的错误标志是否存在。

1)头文件

#include <stdio.h>

2)函数原型

int ferror(FILE *stream);

3)参数

stream:要读取的文件。

4)返回值

如果返回一个非零值,表示设置了错误标志;如果错误未设置,则返回0。

3.clearerr

用于清除end-of-file和错误标志,当调用feof或ferror校验这些标志后,通常需要清除这些标志,避免下次校验时使用到的是上一次设置的值,此时可以手动调用clearerr函数清除标志。

1)头文件

#include <stdio.h>

2)函数原型

void clearerr(FILE *stream);

3)参数

stream:要读取的文件。

4)返回值

无。

相关推荐