sunnywind
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2005-08-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1611回复:7

关于FAT16文件目录一问

楼主#
更多 发布于:2003-08-19 11:28
我的32M的U盘格式化为FAT16格式,FAT16的文件命名是8.3格式,文件名不能大于8个字符,
我在U盘上创建文件 \"新建文本文档.txt\",文件名大于8个字符,在win2000系统下面可以正常显示,但是我读取硬盘扇区信息
root folder后,显示的文件目录信息是 “新建文~1TXT”,÷
请问这是怎么回事,

win2000系统显示的文件名信息,不是从U盘的分区信息里面读取的么,为什么显示的和root folder扇区显示信息不一致,请大侠们分析一下

最新喜欢:

purple.sunpurple...
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-20 09:34
FAT16的文件命名是8.3格式
看一下window实现长文件名的方法。
不限容量的免费邮箱 www.k65.net
SunMing.Cai
驱动牛犊
驱动牛犊
  • 注册日期2002-11-25
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-20 14:36
fat都是不直接支持长文件名的。
是用多个目录项来存储一个文件名。
fat16,fat32都是一样。
你只读一个目录项的信息,就只能读得到第1个目录项的信息了,它就是实际上的8.3名,但读取顺序接下来的几个目录项信息,就能得到完整的文件名了
梦想驱动人生 ------------------------ MSN:saleonnet@hotmail.com ICQ:175745619 OQ:14892627
Yss
Yss
驱动牛犊
驱动牛犊
  • 注册日期2002-01-29
  • 最后登录2005-06-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-20 16:26
长文件名的属性是0XF,目录0X8,所以你发现为0XF时继续读下一个项,直到属性不为OXF,就可以了。当然你要把所有的名字缓存起来。
sunnywind
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2005-08-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-20 19:02
我看了关于FAT 16文件目录的资料,
没有介绍长文件名的,谢谢大家热心指点

[编辑 -  8/21/03 by  sunnywind]
sunnywind
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2005-08-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-21 13:39
按照上面的方法我试了一下
目录扇区信息如下:
00000060h: D0 C2 D2 D7 C0 B4 7E 31 54 58 54 20 00 6C 83 45 ; 新易来~1TXT .l
sunnywind
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2005-08-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-22 09:53
这个问题我已经解决了
――――――――――――――――――
应该是向前目录项读取,并且读取的目录项文件名为BSTR格式的,
文件名从第二字节开始,以 00 或者 FF 结束:

文件名bstr 二进制编码为 B0 65 13 66 65 67 DC 83 55 53
就是 “新易来菜单”
―――――――――――――――――

00000040h: 41 B0 65 13 66 65 67 DC 83 55 53 0F 00 B5 2E 00 ; A板.feg
hswqs
驱动小牛
驱动小牛
  • 注册日期2001-03-27
  • 最后登录2012-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-07-08 12:05
请问在C51下如何处理BSTR数据?
游客

返回顶部