我正在做一个从bin文件中读取数据并处理数据的项目。bin文件很大,大约150MB。我正在尝试使用fseek跳过不需要的数据处理。
我想知道fseek的处理时间是否与fread相同。
谢谢!
发布于 2012-04-12 14:29:05
fseek只是重新定位内部文件指针,而fread实际读取数据。所以我猜fseek应该比fread快得多
如果您真的很想看看屏幕背后发生了什么,可以从here下载glibc并自己检查一下:)
发布于 2012-04-12 14:29:08
我想知道
fseek的处理时间是否与fread相同。
当然,可能不是,它是依赖于实现的。
最有可能的是,fseek只会在内存中设置一个“文件指针”,而不会去磁盘上读取任何信息。另一方面,fread将读取信息。
对于文件位置149M的fseek,后跟1M的fread可能会比150个不同的1M fread调用更快,只剩下最后一次。
发布于 2012-04-12 15:06:35
我可能觉得fseek可能比fread快一点,因为fseek会将指针位置更改到您提到的新地址空间,并且没有发生日期读取。
https://stackoverflow.com/questions/10118435
复制相似问题