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 的作用是按定長記錄讀取文件,返回的是記錄數。