我们正在用C构建一个fat32文件系统操作工具,目前正在尝试访问根目录中的所有条目(位于两个FAT表之后)。
第一个问题是:数据区域中的所有根目录条目是否都是连续的?如果不是,给定第一个条目,我们如何访问下一个条目?
它与标签“低集群/高集群”有关吗?还是我们需要查找FAT表(根目录)?
基本上,我们有一个“等式”,它引导我们进入数据区域。基于此,我们将指向集群,但在此之后,我们并不真正知道如何在根目录中找到下一个条目。
这可能会让人感到困惑,但是如果您需要一些代码或更多的信息,我将提供它们。
提前谢谢你。
发布于 2013-05-22 15:34:22
FAT (也是FAT32)目录条目为32字节,并按顺序显示。
要存储长文件名,条目可能需要32个字节的倍数。
关于L(ong)F(ile)N(ames)如何标记(来自维基百科):
长文件名(LFN)存储在FAT文件系统中,使用的是在正常文件条目之前向目录中添加(可能是多个)附加条目。附加条目被标记为卷标签、系统、隐藏和只读属性(产生0x0F),这是MS-DOS环境中不期望的组合,因此被MS程序和第三方实用程序忽略。(ff)
关于您的第二个问题(来自维基百科):
..。VFAT LFN条目的集群值总是设置为0x0000,在0x1C处的长度条目永远不会是0x00000000 .
https://stackoverflow.com/questions/16694812
复制相似问题