astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1348回复:5

文件系统类型的识别

楼主#
更多 发布于:2004-02-10 17:29
小弟从微软白皮书上看到FAT文件系统识别方法是求出U盘上的总数据簇数CountOfClusters,然后根据如下代码判别。

if(CountOfClusters<4085)
    FATType = FAT12;
else if(CountOfClusters<65525)
    FATType = FAT16;
else
    FATType = FAT32;

    可是我手上的U盘是64M的,每簇32个扇区,计算出簇数小于4085,按照上面的方法应该是FAT12了,可是电脑识别出的格式却是FAT16。
    请问有没有其他方法判断FAT格式?

谢谢指教!
dopy26
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2006-09-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-10 20:12
用识别成fat16的电脑格式化一遍, 再读一下BPB的内容 , 可能这样读到的数据不会矛盾
wenxinglu
驱动牛犊
驱动牛犊
  • 注册日期2003-07-06
  • 最后登录2008-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-10 20:10
忘贴了!
附件名称/大小 下载次数 最后更新
2004-02-10_优盘文件系统(FOR C).pdf (132KB)  5
wenxinglu
驱动牛犊
驱动牛犊
  • 注册日期2003-07-06
  • 最后登录2008-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-10 20:07
看看这个!
一般情况下我们应该判别分区表的SystemId。
或者判别 DBR 的 FileSysType。
astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-10 19:48
是读取BPB_SecPerClus得到的。
dopy26
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2006-09-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-02-10 18:12

    每簇32个扇区

这个数字是怎么的来的? 问题就在这里
游客

返回顶部