易码技术论坛

 找回密码
 加入易码
搜索
查看: 261655|回复: 2

[教程] 文件夹管理中的文件重新排列原理

[复制链接]
发表于 2006-10-15 14:53:05 | 显示全部楼层
只可惜根目录用不了....
发表于 2006-10-16 14:23:33 | 显示全部楼层
TC800对跟目录可以吧.
 楼主| 发表于 2006-10-15 13:58:58 | 显示全部楼层 |阅读模式
花了三天时间,终于把lava1.0的伪指令基本研究清楚了,呵呵
哪天有时间再把研究成果发上来,其实很多人都有的,只是没发而已。
首先拿E路客的文件夹管理开刀,因为我对它的文件排列很感兴趣。
其实原理很简单
char fp;
char a[16384];
ChDir("/LAVA");
fp=fopen("","r");
fread(a,1,16384,fp);
fclose(fp);
数组a中存放的就是LAVA目录中的文件信息
格式如下
a[0]-a[1]  =0x00  大小2H
a[2]-a[15]  =0xff  大小(10H-2H)
a[16]-a[17]  第一个文件的文件号  大小2H
a[18]-a[31]  第一个文件的文件名(当文件名<14bytes时以00结束,=14bytes时末尾没有00)  大小(10H-2H)
a[32]-a[33]  第二个文件的文件号  大小2H
a[34]-a[55]  第二个文件的文件名  大小(10H-2H)
......

保存也很简单
fp=fopen("","wb");
fwrite(a,1,16384,fp);
fclose(fp);

只要对数组a进行操作就行了,但是只能对子目录进行操作,无法对根目录进行操作!

如果想用r键进行重命名的话,就把文件的7ccH处的0x0d改成0x72
如果想用输入键进行保存的话,就把文件的8e4H处的0x73改成0x0d
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-8-24 02:14 , Processed in 0.010748 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表