质疑fread()的块方式读取

原创 2006年06月06日 16:39:00

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

以前调用fread()总是用字符方式, 即itemsize = 1.

现在偶尔应用了一下块方式, 将 itemsize 设为一个结构的大小, 而 count = 1.

正常情况下是没问题.

如果文件大小不足一个结构, 返回应该是0. 可是文件增长后, 以后读取的所有结构都错了!

因为第一次读取后文件指针就不在结构的边界上了.

看来还是要用字符方式读取.


多筆資料 二進制檔案 讀取 -使用fread

此篇介紹如何對二進制檔做多筆資料的讀取,另外,若想要知道做寫入,可以參考「C/C++多筆資料的二進制檔案寫入-使用fwrite」 實作方式 首先,先讓我們來看看二進制的檔案寫入所提...

关于fread函数读取到的数据和实际统计的和数据不一样

文件1.txt中的内容如下:   “123”    “456” 用下面的方式统计文件的字节数:        fp = fopen("1.txt", "r");     ...
  • tgdzsjh
  • tgdzsjh
  • 2014年06月20日 10:58
  • 891

fwrite和fread函数的用法小结(怎么样以二进制形式保存和读取文件)

该文非博主原创,转载于http://blog.csdn.net/sky_qing/article/details/12783045 fwrite和fread是以记录为单位的I/O函数,fread...

fwrite和fread函数的用法小结(怎么样以二进制形式保存和读取文件)

fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出。 [cpp] view plaincopyprint? ...
  • kaka_36
  • kaka_36
  • 2014年11月14日 16:37
  • 5455

C++最快的读取文件的方案(scanf,cin(及取消sync),fread)的详细对比

竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的rea...

fread与file_get_contents读取文件的区别

关于这两个函数的官方解释是这样的:           fread()                      函数读取文件(可安全用于二进制文件)。            语法      ...

fputc,fgetc,fputs,fgets,fwrite,fread写入或读取数据文件详细介绍

fputs,fgets: /* \r\n windows下存入文本数据时换行符会变成/r/n(/r是换行/n是将光标移动到行首) \nLinux下正常 int fputs( const c...

关于fread函数读取到的数据和实际统计的和数据不一样

文件1.txt中的内容如下:   “123”    “456” 用下面的方式统计文件的字节数:        fp = fopen("1.txt", "r");     ...

sparkR通过data.table中的fread函数读取大数据集

spark集群搭建及介绍:敬请关注 数据集:http://pan.baidu.com/s/1i4yMwHB 总结:sparkR通过data.table中的fread函数读取大数据集,相比于正常读取...

fread-C语言是怎样读取文件的

原文:http://blog.csdn.net/xiaofengsheng/article/details/5370917 为了效率的考虑,不至于频繁调用系统函数和访问IO设备,MSVC C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:质疑fread()的块方式读取
举报原因:
原因补充:

(最多只允许输入30个字)