?
This document uses PHP Chinese website manual Release
在頭文件<stdio.h>中定義 | ||
---|---|---|
int feof(FILE * stream); |
檢查是否已達(dá)到給定文件流的末尾。
流 | - | 要檢查的文件流 |
---|
如果已到達(dá)流的末尾,則為非零值,否則為非零值 0
此函數(shù)僅報告最近I / O操作報告的流狀態(tài),但不檢查關(guān)聯(lián)的數(shù)據(jù)源。例如,如果最近的I / O是fgetc
返回文件最后一個字節(jié)的a,則feof
返回0。下一個fgetc
失敗并將流狀態(tài)更改為文件結(jié)束。只有然后feof
返回非零。
在典型用法中,輸入流處理會在出現(xiàn)任何錯誤時停止; feof
和ferror
隨后用于不同的錯誤條件之間進(jìn)行區(qū)分。
#include <stdio.h>#include <stdlib.h> int main(void){ FILE* fp = fopen("test.txt", "r"); if(!fp) { perror("File opening failed"); return EXIT_FAILURE; } int c; // note: int, not char, required to handle EOF while ((c = fgetc(fp)) != EOF) { // standard C I/O file reading loop putchar(c); } if (ferror(fp)) puts("I/O error when reading"); else if (feof(fp)) puts("End of file reached successfully"); fclose(fp);}
C11標(biāo)準(zhǔn)(ISO / IEC 9899:2011):
7.21.10.2 feof函數(shù)(p:339)
C99標(biāo)準(zhǔn)(ISO / IEC 9899:1999):
7.19.10.2 feof函數(shù)(p:305)
C89 / C90標(biāo)準(zhǔn)(ISO / IEC 9899:1990):
4.9.10.2 feof函數(shù)