首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用fseek和fread

使用fseek和fread
EN

Stack Overflow用户
提问于 2012-04-12 14:25:16
回答 4查看 2.5K关注 0票数 4

我正在做一个从bin文件中读取数据并处理数据的项目。bin文件很大,大约150MB。我正在尝试使用fseek跳过不需要的数据处理。

我想知道fseek的处理时间是否与fread相同。

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2012-04-12 14:29:05

fseek只是重新定位内部文件指针,而fread实际读取数据。所以我猜fseek应该比fread快得多

如果您真的很想看看屏幕背后发生了什么,可以从here下载glibc并自己检查一下:)

票数 3
EN

Stack Overflow用户

发布于 2012-04-12 14:29:08

我想知道fseek的处理时间是否与fread相同。

当然,可能不是,它是依赖于实现的。

最有可能的是,fseek只会在内存中设置一个“文件指针”,而不会去磁盘上读取任何信息。另一方面,fread将读取信息。

对于文件位置149M的fseek,后跟1M的fread可能会比150个不同的1M fread调用更快,只剩下最后一次。

票数 0
EN

Stack Overflow用户

发布于 2012-04-12 15:06:35

我可能觉得fseek可能比fread快一点,因为fseek会将指针位置更改到您提到的新地址空间,并且没有发生日期读取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10118435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档