例程是枚举所有文件,但是保存所有文件的信息需要很大的空间,现在我想边枚举,边获取长文件名比较,如果比较成立才保存。
但是发现,获取长文件名的操作好像会打乱枚举过程,有没有懂的大神可以讲解一下原因?
是簇号被打乱了吗?
例程是枚举所有文件,但是保存所有文件的信息需要很大的空间,现在我想边枚举,边获取长文件名比较,如果比较成立才保存。
但是发现,获取长文件名的操作好像会打乱枚举过程,有没有懂的大神可以讲解一下原因?
是簇号被打乱了吗?
求助求助 很急
是的 ,会被打乱的。获取长文件名操作会重新从根逐级打开,内部变量保存的当前簇、文件目录扇区地址、扇区内的索引号等信息都被更新,当然也不会再从原来的位置往下继续枚举。
是的 ,会被打乱的。获取长文件名操作会重新从根逐级打开,内部变量保存的当前簇、文件目录扇区地址、扇区内的索引号等信息都被更新,当然也不会再从原来的位置往下继续枚举。
那请问是否可以将当前的信息保存下来 然后获取长文件名后再恢复 然后继续枚举呢?
引用:
是的 ,会被打乱的。获取长文件名操作会重新从根逐级打开,内部变量保存的当前簇、文件目录扇区地址、扇区内的索引号等信息都被更新,当然也不会再从原来的位置往下继续枚举。
那请问是否可以将当前的信息保存下来 然后获取长文件名后再恢复 然后继续枚举呢?
我想在获取长文件名之前把你说的三个数据都出来 然后保存 获取长文件名后再写进去 这样可行吗?
实际的测试结果是如果只是改变这些变量值的话,也是不可以的。文件系统内部改变的应该不仅仅是这些变量。
实际的测试结果是如果只是改变这些变量值的话,也是不可以的。文件系统内部改变的应该不仅仅是这些变量。
多谢你的帮助,我再看看有没有什么解决办法。