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
       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 的作用是按定长记录读取文件,返回的是记录数。

 

 

你可能感兴趣的:(fread函数的返回值)