C 標(biāo)準(zhǔn)庫(kù) - <stdio.h>
C 庫(kù)函數(shù) int ferror(FILE *stream) 測(cè)試給定流 stream 的錯(cuò)誤標(biāo)識(shí)符。
下面是 ferror() 函數(shù)的聲明。
int ferror(FILE *stream)
如果設(shè)置了與流關(guān)聯(lián)的錯(cuò)誤標(biāo)識(shí)符,該函數(shù)返回一個(gè)非零值,否則返回一個(gè)零值。
下面的示例演示了 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 時(shí)發(fā)生錯(cuò)誤\n");
}
clearerr(fp);
if( ferror(fp) )
{
printf("讀取文件:file.txt 時(shí)發(fā)生錯(cuò)誤\n");
}
fclose(fp);
return(0);
}
假設(shè)我們有一個(gè)文本文件 file.txt,它是一個(gè)空文件。讓我們編譯并運(yùn)行上面的程序,因?yàn)槲覀冊(cè)噲D讀取一個(gè)以只寫(xiě)模式打開(kāi)的文件,這將產(chǎn)生以下結(jié)果。
讀取文件:file.txt 時(shí)發(fā)生錯(cuò)誤