C 教程
C 庫函數(shù) int ferror(FILE *stream) 測試給定流 stream 的錯誤標識符。
下面是 ferror() 函數(shù)的聲明。
int ferror(FILE *stream)
如果設(shè)置了與流關(guān)聯(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("讀取文件:file.txt 時發(fā)生錯誤n"); } clearerr(fp); if( ferror(fp) ) { printf("讀取文件:file.txt 時發(fā)生錯誤n"); } fclose(fp); return(0); }
假設(shè)我們有一個文本文件 file.txt,它是一個空文件。讓我們編譯并運行上面的程序,因為我們試圖讀取一個以只寫模式打開的文件,這將產(chǎn)生以下結(jié)果。
讀取文件:file.txt 時發(fā)生錯誤其他擴展