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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章