ferror ()- 測試讀取/寫入錯誤

格式

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

語言層次

ANSI

安全執行緒

說明

ferror() 函數測試在讀取或寫入給定的 串流時是否發生錯誤。 如果發生錯誤,則在您關閉 stream、呼叫 rewind() 函數或呼叫 clearerr() 函數之前,仍會設定 串流 的錯誤指示器。

回覆值

ferror() 函數會傳回非零值,以指出給定 串流上的錯誤。 回覆值 0 表示未發生任何錯誤。

範例

此範例將資料輸出至串流,然後檢查是否未發生寫入錯誤。
#include <stdio.h>
 
int main(void)
{
   FILE *stream;
   char *string = "Important information";
   stream = fopen("mylib/myfile","w");
 
   fprintf(stream, "%s\n", string);
   if (ferror(stream))
   {
      printf("write error\n");
      clearerr(stream);
   }
   if (fclose(stream))
      perror("fclose error");
}

相關資訊