打印

一个结构的疑问!!!!

[复制链接]
1630|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
472666GAQ|  楼主 | 2010-4-30 14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
struct FAT32_FAT_Item
{
unsigned char Item[4];
};
struct FAT32_FAT
{
struct FAT32_FAT_Item Items[128];
};

unsigned long FAT32_GetNextCluster(unsigned long LastCluster)
{
unsigned long temp;
struct FAT32_FAT *pFAT;
struct FAT32_FAT_Item *pFAT_Item;
temp=((LastCluster/128)+Init_Arg.FirstFATSector);
FAT32_ReadSector(temp,FAT32_Buffer);
pFAT=(struct FAT32_FAT *)FAT32_Buffer;//什么意思
pFAT_Item=&((pFAT->Items)[LastCluster%128]);//什么意思
return lb2bb(pFAT_Item,4);
}

相关帖子

沙发
znmcu| | 2010-4-30 17:46 | 只看该作者
振南:
    你的这段代码是我znFAT的代码,这些代码是经过精炼之后的代码,你完全不用去了解它的内部实现,除非你非常想深入研究FAT32。

pFAT=(struct FAT32_FAT *)FAT32_Buffer;//将数据缓冲区的首地址强制转为结构体,这样方便提供其中的数据
pFAT_Item=&((pFAT->Items)[LastCluster%128]);//这是定位到一个FAT表项,pFAT_Item最终就指向这个FAT表项(4个字节)的首地址。

FAT32内部其实比较复杂,为了把FAT32和我的znFAT讲清楚,我在写专门的书,希望关注。只有深入了解FAT32机制和较好的编程思想和经验,才能把FAT32真正的玩起来!

使用特权

评论回复
板凳
472666GAQ|  楼主 | 2010-4-30 18:29 | 只看该作者
我正在研究你程序的一部分 谢谢zn大哥的讲解 希望你的书早点出版

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

285

帖子

2

粉丝