fread函數的返回值

http://bbs2.chinaunix.net/thread-1041042-1-1.html

 

 先複製一段MAN
FREAD(3)                   Linux Programmer’s Manual                  FREAD(3)

NAME
       fread, fwrite - binary stream input/output
SYNOPSIS
       #include <stdio.h>
       size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
       size_t   fwrite(const  void  *ptr,  size_t  size,  size_t  nmemb,  FILE *stream);

我先說結論
fread和asc/binary模式無關,一律binary
fread返回的不是字節數,當且僅當下面這麼用的時候,返回值纔是字節數

char buff[size];
FILE *fp;
...
fread(buff, 1, size, fp);
...

如果是: fread(buff, size, 1, fp)
返回1表示讀取了size字節,返回0表示讀取數量不夠size字節,究竟是多少不知道!!-----------------確實是這樣的!

 

fread 的作用是按定長記錄讀取文件,返回的是記錄數。

 

 

發佈了45 篇原創文章 · 獲贊 3 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章