古詩詞大全網 - 個性簽名 - fread()函數如何確定是否到達文件末尾?

fread()函數如何確定是否到達文件末尾?

從文件流中讀取數據

相關函數fopen、fwrite、fseek、fscanf

頭文件# include

定義函數size _ tfraed (void * ptr,size _ t size,size _ t nmemb,file * stream);

函數描述fread()用於從文件流中讀取數據。

參數流是壹個打開的文件指針。

參數ptr指向要存儲的數據空間,要讀取的字符數由參數size*nmemb決定。

Fread()將返回實際讀取的nmemb的數量。如果該值小於參數nmemb,則意味著文件的結尾可能被讀取或發生錯誤。在這種情況下,必須使用feof()或ferror()來確定發生了什麽。

返回值返回實際讀取的nmemb的數量。

附加說明

示例#包括

#定義nmemb 3

結構測試

{

char name[20];

int大小;

} s[nmemb];

主()

{

文件*流;

int I;

stream = fopen("/tmp/fwrite "," r ");

fread(s,sizeof(struct test),nmemb,stream);

fclose(流);

for(I = 0;我& ltnmembi++)

printf(" name[% d]= %-20s:size[% d]= % d \ n ",I,s[i]。名字,我,s[i]。尺寸);

}

執行名[0]=Linux!大小[0]=6

name[1]=FreeBSD!size[1]=8

name[2]= windows 2000 size[2]= 11

========================

Feof(檢查文件流是否已經讀取了文件的結尾)

相關函數fopen,fgetc,fgets,fread

頭文件# include

定義函數int feof(FILE * stream);

函數描述feof()用於檢測文檔的結尾是否已被讀取,尾數流是fopen()返回的文檔指針。如果到達文件末尾,則返回非零值,否則返回0。

返回值非零值表示已到達文件末尾。