函式
<cstdio>

ferror

int ferror ( FILE * stream );
檢查錯誤指示符
檢查與 stream 關聯的錯誤指示符是否已設定,如果已設定,則返回一個非零值。

此指示符通常由先前失敗的 stream 操作設定,並透過呼叫 clearerrrewindfreopen 來清除。

引數

stream
指向一個 FILE 物件的指標,該物件標識了流。

返回值

如果與流關聯的錯誤指示符已設定,則返回一個非零值。
否則,返回零。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* ferror example: writing error */
#include <stdio.h>
int main ()
{
  FILE * pFile;
  pFile=fopen("myfile.txt","r");
  if (pFile==NULL) perror ("Error opening file");
  else {
    fputc ('x',pFile);
    if (ferror (pFile))
      printf ("Error Writing to myfile.txt\n");
    fclose (pFile);
  }
  return 0;
}

本程式開啟一個名為myfile.txt的現有檔案,以只讀模式開啟,但試圖向其寫入一個字元,從而產生一個可被ferror.

輸出
Error Writing to myfile.txt


另見