clearerr ()- 重設錯誤指示器

格式

#include <stdio.h>
void clearerr (FILE *stream);

語言層次

ANSI

安全執行緒

說明

clearerr() 函數會重設指定 串流的錯誤指示器及檔案結尾指示器。 一旦設定,指定串流的指示器會維持設定,直到您的程式呼叫 clearerr() 函數或 rewind() 函數為止。 fseek() 函數也會清除檔案結尾指示器。 ILE C/C++ 執行時期環境不會自動清除錯誤或檔案結尾指示器。

回覆值

此方法不會傳回任何值。

錯誤碼的值可以設為:
Value
意義
EBADF
檔案指標或描述子無效。
ENOTOPEN
檔案未開啟。
ESTDIN
無法開啟 stdin
EIOERROR
發生非可回復I/O錯誤。
EIORECERR
發生可回復I/O錯誤。

範例

此範例會讀取資料串流,然後檢查是否未發生讀取錯誤。
#include <stdio.h>
#include <stdlib.h>
 
FILE *stream;
int c;
 
int main(void)
{
   if ((stream = fopen("mylib/myfile", "r")) != NULL)
   {
      if ((c=getc(stream)) == EOF)
      {
         if (ferror(stream))
         {
            perror("Read error");
            clearerr(stream);
         }
      }
   }
   else
      exit(0);
}

相關資訊