【问题标题】:creating a fat16 model创建 fat16 模型
【发布时间】:2011-12-14 03:33:10
【问题描述】:

我正在尝试在能够创建、查看、删除和复制文件和目录的文件中创建模型 FAT16 文件系统,但我是新手,对任何有想法的人进行编程?我想要一些东西像下面这样

type
  TFileRec = Packed Record
    ID: WORD; //id of item
    ParID: WORD; //parent id
    Name: String[8]; //name of item
    Ext: String[3]; //extension if any (type)
    Att: BYTE; //attributes (access modifiers, type, etc)
  end;

var
  FAT16: File of TFileRec;
  ItemCount: Integer;

【问题讨论】:

标签: c++ c delphi pascal


【解决方案1】:

查看 SO 用户 Primoz Gabrijelcic 的 Compound File implementation。它不是 FAT16,但非常接近您要查找的内容。

【讨论】:

    【解决方案2】:

    我建议这样做的方法是调整 FAT 16 实现以使用文件作为硬盘介质。 FAT 文件系统与硬盘的接口是系统级命令,如 read_sectors 和 write_sectors,它们读取/写入多个 512B 缓冲区到某些 LBA 地址。对于您的情况,您可以将读取扇区和写入扇区函数的调用替换为对文件的实际读写。

    因此,通过更改这两个函数,您将媒体访问替换为文件访问。

    确切地说,有第三个系统级调用硬盘返回媒体的大小,这里应该替换为假定作为媒体的最大文件大小。

    轻量级 FAT 实现可以在 here 找到

    【讨论】:

      猜你喜欢
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      相关资源
      最近更新 更多