C语言 库函数 ferror()

C语言 标准库 - <stdio.h>C语言 标准库 - <stdio.h>

C 库函数 int ferror(FILE *stream) 测试给定流 stream 的错误标识符。

 

1. 声明

下面是 ferror() 函数的声明。

int ferror(FILE *stream)

 

2. 参数

  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。

 

3. 返回值

如果设置了与流关联的错误标识符,该函数返回一个非零值,否则返回一个零值。

 

4. 实例

下面的实例演示了 ferror() 函数的用法。

#include <stdio.h>

int main()
{
   FILE *fp;
   char c;

   fp = fopen("file.txt", "w");

   c = fgetc(fp);
   if( ferror(fp) )
   {
      printf("读取文件:file.txt 时发生错误\n");
   }
   clearerr(fp);
   if( ferror(fp) )
   {
      printf("读取文件:file.txt 时发生错误\n");
   }
   fclose(fp);

   return(0);
}

假设我们有一个文本文件 file.txt,它是一个空文件。让我们编译并运行上面的程序,因为我们试图读取一个以只写模式打开的文件,这将产生以下结果。

读取文件:file.txt 时发生错误

C语言 标准库 - <stdio.h>C语言 标准库 - <stdio.h>

C语言 库函数 fflush():C 库函数 int fflush(FILE *stream) 刷新流 stream 的输出缓冲区。1. 声明:int fflush(FILE *stream)。2. 参数:stream 这是指向 FILE 对象的指针,该 FILE 对象指定了一个缓冲流。3. 返回值:如果成功,该函数返回零值。如果发生错误,则返回 EOF,且设置错误标识符(即 feof)。