400-685-0732 电话咨询定制营销方案
关注专业seo外包公司
SEO创新会
文军营销
大数据驱动  让营销不走弯路
首页  >   工具使用  >  fread函数 c语言中fread函数怎么用

fread函数 c语言中fread函数怎么用

fread是一个函数,它从文件流中读数据,最多读取count个项,每个项size个字节,如果调用成功返回实际读取到的项个数(小于或等于count),如果不成功或读到文件末尾返回0。返回真实读取的项数,若大于count则意味着产生了错误。另外,产生错误后,文件位置指示器是无法确定的。若其他stream或buffer为空指针,或在unicode模式中写入的字节数为奇数,此函数设置errno为EINVAL以及返回0.

fread函数——c语言中fread函数怎么用

C语言中:fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回0。函数原型:size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream);参数:buffer用于接收数据的内存地址size要读的每个数据项的字节数,单位是字节count要读数据项的个数,每个数据项size个字节.stream输入流的指针返回值:返回实际读取的元素个数。如果返回值与count不相同,则可能文件结尾或发生错误。从ferror和feof获取错误信息或检测是否到达文件结尾。

C中fread()函数的返回值

这个问题很容易搞错,并导致很多问题,需要强调的是fread函数返回的并不是字节数。

realRead=fread(buf,item,count,fp)(每次读item大小的数据块,分count次来读。)

而是返回的是成功有效的读取的item元素的个数,而成功读入的字节数则是realRead*sizeof(item)

一般说来realRead是小于count的,很巧的情况就刚好为count.除非文件大小刚好为item大小的整数倍。

返回的是真实读入item元素的个数,虽然读了count次,但是真正读到的有效个数为realRead个

真实读入字节数就为realRead*sizeof(item)

RETURNVALUE

freadandfwritereturnthenumberofitemssuccessfullyreadorwritten(i.e.,notthenumberof

characters).Ifanerroroccurs,ortheend-of-fileisreached,thereturnvalueisashortitem

count(orzero).

freaddoesnotdistinguishbetweenend-of-fileanderror,andcallersmustusefeof(3)andferror(3)

todeterminewhichoccurred.

fread(从文件流读取数据)

表头文件#include<stdio.h>

定义函数size_tfread(void*ptr,size_tsize,size_tcount,FILE*stream);

函数说明fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr指向欲存放读取进来的数据空间,读取的字节数以参数size*count来决定。

Fread()会返回实际读取到的count数目,如果此值比参数count来得小,则代表可能读到了文件尾了或者有错误发生(前者几率大),这时必须用feof()或ferror()来决定发生什么情况。

返回值返回实际读取到的count数目。

fread返回的不是字节数,

当且仅当下面这么用的时候,返回值才是字节数(当然因为恰好一个数据块大小为1个字节,相当于realRead*1)

charbuff[size];

FILE*fp;

realRead=fread(buff,1,size,fp);

如果是:fread(buff,size,1,fp)

返回1表示读取了size字节,返回0表示读取数量不够size字节

直接在文件中读写结构体的程序是不可移植的,如果在一种平台上编译运行writebin.c程序,把生成的recfile文件拷到另一种平台并在该平台上编译运行readbin.c程序,则不能保证正确读出文件的内容,因为不同平台的大小端可能不同(因而对整型数据的存储方式不同),如果大家还想了解更多与之有关的信息,欢迎关注我们文军营销的官网。

推荐阅读

设置excel工作表的打印区域 excel工作表打印区域 | 文军营销设置excel工作表的打印区域是指文档中要打印的文件范围,设置方法一共有...fwrite函数 fwrite函数用法 fread函数 c语言中fread函数怎么用 form表单提交...sizeof函数怎么用 sizeof函数的使用方法 | 文军营销fread函数 c语言中fread函数怎么用 | 文军营销fread是一个函数,它从文件流中读数据,最多读取...C中fread()函数的返回值 这个问题很容易搞错,并导致...的个...对excel工作表中的部分单元格进行保护 excel保护工作表 | 文军营销对excel工作表中的部分单元格进行保护 excel保护工作表,这个问题是我们很多人都...fwrite函数 fwrite函数用法 fread函数 c语言中fread函数怎么用 form表单提交 form...在excel中使用TIME函数输入时间格式的数据 | 文军营销TIME函数的返回值是O一1之间的小数,该取值范围之间的数据分别代表了一天24小时...fwrite函数 fwrite函数用法 fread函数 c语言中fread函数怎么用 form表单提交 form...word怎么删除空白页面 word删除空白页的方法介绍 | 文军营销有许多人在收集资料的过程当中经常会发现一些内容当中存在着一些空白页面,这给...fwrite函数 fwrite函数用法 fread函数 c语言中fread函数怎么用 form表单提交 form...html特殊符号对照表 html怎么插入特殊符号 | 文军营销在使用html特殊符号对照表的过程当中有许多人都非常的纠结,这一些特殊符号是如何...fwrite函数 fwrite函数用法 fread函数 c语言中fread函数怎么用 form表单提交 form...