• 大小: 257KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: 混合索引  

资源简介

每个索引节点(I节点)有十三个地址项,10个直接地址项,1个一级索引地址,1个二级索引地址,1个三级索引地址,给你一个文件大小通过计算能得知该文件占了那些块。(此为C++编写,仅供参考)

资源截图

代码片段和文件信息

#include
#include “math.h“
struct data{
int year;
int month;
int day;
int hour;
int minute;
int second;
};
struct FCB{
char mode;
char owners;
struct data time;
int size;
int id;
int addr[13];
}file;
int lenlen1len2;
void allocation()
{
if(file.size>0&&file.size<10*len1+file.addr[10]+file.addr[11]+file.addr[12])
{
if(file.size<10*len1+file.addr[10]+file.addr[11])
{
if(file.size<10*len1+file.addr[10])
{
if(file.size<10*len1)
{
for(int sum=0i=0;sum {
i++;
}
printf(“%d\n“i);
}
else
printf(“%d\n“10+len);
}
else
printf(“%d\n“10+len*len);
}
else
printf(“%d\n“10+len*len*len);
}
else
printf(“文件太大,没有足够磁盘空间\n“);
}

void calculate()
{
int blockbite;
if(file.id<10*len1+file.addr[10]+file.addr[11]+file.addr[12])
{
block=int(file.id/len1);
bite=(int)fmod(file.idlen1);
printf(“该地址在第%d个盘块的第%d个字节\n“blockbite);
}
else
printf(“访问地址越界\n“);
}
void main()
{
int mark;
printf(“请输入盘块大小:“);
scanf(“%d“&len1);
printf(“请输入盘块号大小:“);
scanf(“%d“&len2);
len=len1/len2;
for(int i=0;i<10;i++)
{
file.addr[i]=len1;
}
file.addr[10]=len*len1;
file.addr[11]=len*len*len1;
file.addr[12]=len*len*len*len1;

while(mark!=3)
{
printf(“1.给指定大小的文件分配磁盘块\n2.计算要访问地址在第几个盘快的第几个字节\n3.退出\n请选择操作:“);
scanf(“%d“&mark);
switch(mark)
{
case 1:
printf(“请输入文件长度:“);
scanf(“%d“&file.size);
printf(“文件占用的磁盘块数为:“);
allocation();
break;
case 2:
printf(“请输入访问地址:“);
scanf(“%d“&file.id);
calculate();
break;
case 3:
break;
default:
printf(“选择有误请重新选择:“);
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-03-01 17:04  混合索引\
     目录           0  2012-03-01 17:04  混合索引\Debug\
     文件       41984  2012-01-02 16:38  混合索引\Debug\vc60.idb
     文件       53248  2012-01-02 16:35  混合索引\Debug\vc60.pdb
     文件      221258  2012-01-02 16:37  混合索引\Debug\W.exe
     文件      220704  2012-01-02 16:37  混合索引\Debug\W.ilk
     文件        7955  2012-01-02 16:37  混合索引\Debug\w.obj
     文件      221360  2012-01-02 16:12  混合索引\Debug\W.pch
     文件      476160  2012-01-02 16:35  混合索引\Debug\W.pdb
     文件        1867  2012-01-02 16:35  混合索引\w.cpp
     文件        4224  2011-12-01 13:20  混合索引\W.dsp
     文件         527  2011-12-01 10:23  混合索引\W.dsw
     文件       41984  2012-01-02 16:46  混合索引\W.ncb
     文件       48640  2012-01-02 16:46  混合索引\W.opt
     文件         864  2012-01-02 16:37  混合索引\W.plg

评论

共有 条评论

相关资源