您的位置:首页 > 其它

fread/fwrite 返回值理解

2014-02-17 15:20 936 查看


函数原型


size_t fread ( void *buffer, size_t size, size_t count, FILE *stream)
;



buffer

用于接收数据内存地址,大小至少是size*count字节.

size

单个元素的大小,单位是字节

count

元素的个数,每个元素是size字节.

stream

输入流





返回值

实际读取的元素个数.如果返回值与count不相同,则可能文件结尾或发生错误.

从ferror和feof获取错误信息或检测是否到达文件结尾.


例子:
int iRet = fread(buffer,1,size,fd_read);

iRet != size &&iRet > 0 : 文件读取到结尾,iRet为读取回来的字节数。
iRet == size:文件读取正确,读取size个字节数


同理 fwrite是一样的,所以在fread/fwrite如果count/size 2个参数没有弄好,


会发现返回值不一定是读取或者写入的字节数





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: