C庫函數(shù) int ferror(FILE *stream)測試給定的流中的錯誤標記。
以下是聲明ferror() 函數(shù)。
int ferror(FILE *stream)
stream -- 這是一個文件 FILE 對象的標識流的指針。
如果錯誤指示燈與流關聯(lián)的設置,函數(shù)返回一個非零值,否則,它返回一個零值。
下面的例子演示了如何使用 ferror()函數(shù)。
#include <stdio.h> int main() { FILE *fp; char c; fp = fopen("file.txt", "w"); c = fgetc(fp); if( ferror(fp) ) { printf("Error in reading from file : file.txt "); } clearerr(fp); if( ferror(fp) ) { printf("Error in reading from file : file.txt "); } fclose(fp); return(0); }
假設我們有一個文本文件file.txt,這是一個空文件。讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果,因為我們嘗試讀取一個文件,以只寫模式運行。
Error reading from file "file.txt"