 fread()函數(shu)語(yu)法(fa)要點總結,附(fu)帶程序實例
							時(shi)間:2018-07-13      來源:未知
							fread()函數(shu)語(yu)法(fa)要點總結,附(fu)帶程序實例
							時(shi)間:2018-07-13      來源:未知 
							fread()函數語法要點
在ANSI標準(zhun)的IO操作中提供了三種不同類(lei)型的IO處理函(han)數(shu),包(bao)括(kuo)字符讀(du)/寫、行(xing)讀(du)/寫和塊讀(du)/寫。如果使(shi)(shi)用(yong)的緩(huan)沖區(qu)(qu)的話(hua),不需要(yao)每(mei)次進行(xing)標準(zhun)IO操作時(shi)都使(shi)(shi)用(yong)系統(tong)IO調用(yong),至于(yu)什么時(shi)候使(shi)(shi)用(yong)系統(tong)IO調用(yong)則根據緩(huan)沖區(qu)(qu)類(lei)型和緩(huan)沖區(qu)(qu)中的數(shu)據量決定(ding)。
塊讀(du)寫文件(jian)流是(shi)指每次讀(du)出與(yu)寫入的數據(ju)量可以由編程人員設定,ANSI標準(zhun)的塊讀(du)出函數聲明如下:
SYNOPSIS
 #include 
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
DESCRIPTION
The function fread() reads nmemb elements of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr.
此函數(shu)將從第4個(ge)參數(shu)所(suo)指示的(de)(de)流中讀(du)取(qu)nmenb個(ge)大小為(wei)(wei)size的(de)(de)對(dui)象(xiang)(xiang)存放在第一個(ge)參數(shu)ptr所(suo)指向的(de)(de)內存空間中。其第一個(ge)參數(shu)為(wei)(wei)讀(du)取(qu)的(de)(de)對(dui)象(xiang)(xiang)的(de)(de)存放位置(zhi);第二個(ge)參數(shu)為(wei)(wei)讀(du)取(qu)對(dui)象(xiang)(xiang)的(de)(de)大小,例(li)如讀(du)出(chu)一個(ge)結構體buf,該參數(shu)可以設置(zhi)為(wei)(wei)sizeof(struct buf);第三個(ge)參數(shu)為(wei)(wei)讀(du)取(qu)對(dui)象(xiang)(xiang)的(de)(de)個(ge)數(shu);第四(si)個(ge)參數(shu)為(wei)(wei)讀(du)取(qu)的(de)(de)文件流指針。
該函數(shu)的(de)(de)返回值為讀(du)取到對象的(de)(de)個數(shu)(注意:不是讀(du)取到字節的(de)(de)個數(shu)),如果(guo)返回值比參(can)數(shu)3小,則表示可(ke)能讀(du)取到了文件的(de)(de)尾(wei)部,這時可(ke)以使(shi)用feof或者ferror函數(shu)來檢測(ce)原(yuan)因。
程序實例:
  
運行結果:
  

