标题:c++ VC++ 下模拟实现一个 Linux 文件系统
取消只看楼主
大兵小将o
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-5-6
结帖率:100%
 问题点数:0 回复次数:0 
c++ VC++ 下模拟实现一个 Linux 文件系统
当在初始化后

    /*超块初始化 0#盘块*/
    disk.seekp(0);      //空闲结点号栈80*3=240 B (0 ~ 239)
       disk<<setw(3)<<-1;  //0# 的i结点已使用,就赋-1(0 ~ 2)
    for(i=1;i<=79;i++)
       {
              disk<<setw(3)<<i;
       }
    disk<<setw(3)<<79;  //空闲结点栈指针==当前结点数(240 ~ 242)
 
       for(i=0;i<10;i++)   //空闲盘块号栈10*3=30 B (243 ~ 270) 11#盘块已使用 末尾盘块为21#
    {
              disk<<setw(3)<<i+12;
       }
       disk<<setw(3)<<10;  //空闲结点栈指针==当前栈中盘块数(271 ~ 273)
   
       disk<<setw(3)<<80;  //空闲i结点总数(274 ~ 276)
    disk<<setw(3)<<89;  //空闲盘块总数(277 ~ 279)

在定义超快后
struct SUPERBLOCK//超块
{
       int fistack[80];//空闲结点号栈          setw(3)*80   用了填-1
       int fiptr;//空闲结点栈指针(还有多少个)  setw(3)
       int fbstack[10];//空闲盘块号栈          setw(3)*10
       int fbptr;//空闲结点栈指针              setw(3)
       int inum;//空闲i结点总数                setw(3)
       int bnum;//空闲盘块总数                 setw(3)
};
 在源代码中对超快的修改  能直接实现在disk中相对应位置的修改吗
如果不能球大胜讲解   小弟在此谢过
搜索更多相关主题的帖子: Linux 
2014-05-28 17:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-432202-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015804 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved