文件及其集群(或fseek如何工作?)

时间:2012-11-17 18:13:33

标签: windows file winapi io filesystems

我想知道fseek是如何在Windows文件系统上工作的。 据我所知,文件有点像链接 集群列表(它们可能是常量) 但我不知道fseek是否会前往目的地 需要阅读并跳过这个集群的长链 或者它可能是一些群集,所以只有fseek 通过它查找,然后进入正确的集群 无需阅读以前的内容。可以一些 那个人回答了什么?

1 个答案:

答案 0 :(得分:1)

如果您对fseek()在Windows上的工作原理感到好奇,请参阅Visual Studio附带的CRT源代码。

您会看到它是使用SetFilePointer() API实现的,它只是恰当地调整FILE_OBJECT :: CurrentByteOffset。

文件系统实现者将此偏移量用于同步(非重叠)读取和写入操作。至于文件系统如何跟踪文件数据(集群/扩展区),在实现之间有所不同。你想解决什么问题?