位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 fread()函數

提問人:劉團圓發(fā)布時間:2020-12-03

fread()函數實現對一個文件讀取一個數據塊的操作,其函數原型為:

    int fread(void *buffer,unsigned int size,unsigned int n,FILE *fp);

fread()函數的一般調用形式為:

    fread(buffer,size,count,fp);

其中:

?buffer: 一個指針,對fread()函數來說,是讀入數據的存放地址。

?size:讀取的每個數據項所占的字節(jié)數,通常使用sizeof(數據類型名)表示。

?count:需要讀寫多少個大小為size字節(jié)的數據項。

?fp:文件型指針,指向要讀的文件。


fread()函數的功能是,從文件指針fp所指向的文件中,讀取count個大小為size字節(jié)的數據項, 存放到以buffer為首地址的內存區(qū)域中。

例如:

    fread(buffer,20,30,fp);

從fp指針所指向的文件中讀取30個大小為20字節(jié)的數據項,并將其存放到buffer指針所指向的內存區(qū)域中。


用fread()函數和fWrite()函數來讀寫文件,讀寫時應采用二進制模式,如果使用文本模式會出現問題。fread()函數與fscanf()函數適合于結構體數據對文件的輸入輸出操作。例如:

    fread(buffer,5,sizeof(STU),fp);

STU為一個結構體類型;從fp指針所指向的文件中讀出5個STU結構體數據,并將其存放到buffer所指向的內存區(qū)域中。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部