C語言 fread()函數(shù)
fread()函數(shù)實現(xiàn)對一個文件讀取一個數(shù)據(jù)塊的操作,其函數(shù)原型為:
int fread(void *buffer,unsigned int size,unsigned int n,FILE *fp);
fread()函數(shù)的一般調(diào)用形式為:
fread(buffer,size,count,fp);
其中:
?buffer: 一個指針,對fread()函數(shù)來說,是讀入數(shù)據(jù)的存放地址。
?size:讀取的每個數(shù)據(jù)項所占的字節(jié)數(shù),通常使用sizeof(數(shù)據(jù)類型名)表示。
?count:需要讀寫多少個大小為size字節(jié)的數(shù)據(jù)項。
?fp:文件型指針,指向要讀的文件。
fread()函數(shù)的功能是,從文件指針fp所指向的文件中,讀取count個大小為size字節(jié)的數(shù)據(jù)項, 存放到以buffer為首地址的內(nèi)存區(qū)域中。
例如:
fread(buffer,20,30,fp);
從fp指針?biāo)赶虻奈募凶x取30個大小為20字節(jié)的數(shù)據(jù)項,并將其存放到buffer指針?biāo)赶虻膬?nèi)存區(qū)域中。
用fread()函數(shù)和fWrite()函數(shù)來讀寫文件,讀寫時應(yīng)采用二進制模式,如果使用文本模式會出現(xiàn)問題。fread()函數(shù)與fscanf()函數(shù)適合于結(jié)構(gòu)體數(shù)據(jù)對文件的輸入輸出操作。例如:
fread(buffer,5,sizeof(STU),fp);
STU為一個結(jié)構(gòu)體類型;從fp指針?biāo)赶虻奈募凶x出5個STU結(jié)構(gòu)體數(shù)據(jù),并將其存放到buffer所指向的內(nèi)存區(qū)域中。
點擊加載更多評論>>