FAT32:根目录条目

时间:2013-05-22 14:43:34

标签: c fuse fat32

我们正在用C构建一个fat32文件系统操作工具,目前正在尝试访问根目录中的所有条目(位于两个FAT表之后)。

第一个问题是:所有根目录条目是否在数据区域中是连续的?如果没有,给定第一个条目,我们如何访问下一个条目?

是否与“低群集/高群集”标签有关,还是需要在FAT表中查找(根目录)?

基本上,我们有“方程式”将我们引向数据区域。基于此,我们指向群集,但在此之后,我们真的不知道如何在根目录中找到下一个条目。

这可能看起来令人困惑,但如果你需要代码或更多信息,我会提供它们。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

FAT(也是FAT32)目录条目是32字节,并按顺序出现。

要存储长文件名,条目可能需要32个字节的倍数。

关于如何标记L(ong)F(ile)N(ames)(来自wikipedia):

  

长文件名(LFN)存储在FAT文件系统上,在正常文件输入之前使用特技添加(可能是多个)附加条目到目录中。附加条目标有卷标,系统,隐藏和只读属性(产生0x0F),这是MS-DOS环境中不期望的组合,因此被MS-DOS程序和第三方忽略公用事业。 ( FF


引用您的第二个问题(来自wikepedia):

  

[...] VFAT LFN条目的簇值始终为0x1A,设置为0x0000,长度条目为0x1C,永远不是0x00000000 [...]