小甲鱼 发表于 2017-7-17 01:22:30

ferror -- 检测文件的错误指示器是否被设置

ferror 函数文档

函数概要:

ferror 函数用于检测文件的错误指示器(error indicator)是否被设置。


函数原型:

#include <stdio.h>
...
int ferror(FILE *stream);

参数解析:


参数含义
stream 该参数是一个 FILE 对象的指针,指定一个待检测的文件流


返回值:

1. 如果检测到错误指示器(error indicator)被设置,返回一个非 0 值;

2. 如果检测不到错误指示器(error indicator)被设置,返回值为 0。


备注:

1. ferror 函数仅检测错误指示器的值,它们并不会修改文件的位置指示器。

2. 文件错误指示器只能使用 clearerr 函数清除。


演示:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
      FILE *fp;
      int ch;

      if ((fp = fopen("file.txt", "w")) == NULL)
      {
                printf("打开文件失败!\n");
                exit(EXIT_FAILURE);
      }

      ch = fgetc(fp);
      if (ferror(fp))
      {
                printf("读取文件file.txt时出错...\n");
      }

      fclose(fp);

      return 0;
}



msj20 发表于 2021-8-29 12:46:35

&#128077;
页: [1]
查看完整版本: ferror -- 检测文件的错误指示器是否被设置