第一范文网 - 专业文章范例文档资料分享平台

操作系统实验文件管理C++代码 (3)

来源:用户分享 时间:2020-06-28 本文由第一句问候 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

int dcount=0,fcount=0; short bcount=0; if(argc != 1) { printf(\ return ; } // 遍历i节点数组, 显示当前目录下的子目录和文件名 for(i = 0; i < INODENUM; i++) if((inode_array[i].inum> 0) && (inode_array[i].iparent == inum_cur)&& !strcmp(inode_array[i].user_name,user.user_name)) { if(inode_array[i].type == 'd') {

dcount++;

printf(\ } else {

fcount++; bcount+=inode_array[i].length; printf(\inode_array[i].file_name,inode_array[i].length); } } printf(\ %d file(s)d bytes\\n\ printf(\ %d dir(s) FreeSpace\\n\ }

// 功能: 在当前目录下创建子目录(mkdir dir1) void mkdir(void) { int i; if(argc != 2) { printf(\ return ; } // 遍历i节点数组, 查找未用的i节点 for(i = 0; i < INODENUM; i++) if(inode_array[i].inum < 0) break; if(i == INODENUM)

bytes\\n\d bytes }

{

printf(\ exit(-1); }

inode_array[i].inum = i;

strcpy(inode_array[i].file_name, argv[1]); inode_array[i].type = 'd';

strcpy(inode_array[i].user_name,user.user_name); inode_array[i].iparent = inum_cur; inode_array[i].length = 0; save_inode(i);

// 功能: 在当前目录下创建文件(creat file) void create(void) { int i; if(argc != 2) {

printf(\ return ; } for(i = 0; i < INODENUM; i++) {

if((inode_array[i].inum > 0) &&

(inode_array[i].type == 'f') && !strcmp(inode_array[i].file_name, argv[1])) { printf(\ return ; } } for(i = 0; i < INODENUM; i++)

if(inode_array[i].inum < 0) break; if(i == INODENUM) { printf(\ exit(-1); } inode_array[i].inum = i; strcpy(inode_array[i].file_name, argv[1]); inode_array[i].type = 'f'; strcpy(inode_array[i].user_name, user.user_name); inode_array[i].iparent = inum_cur; inode_array[i].length = 0;

save_inode(i); }

// 功能: 打开当前目录下的文件(open file1) void open() { int i, inum, mode, filenum; if(argc != 2) { printf(\ return ; } for(i = 0; i < INODENUM; i++) if((inode_array[i].inum > 0) &&

(inode_array[i].type == 'f') && !strcmp(inode_array[i].file_name,argv[1])&& !strcmp(inode_array[i].user_name,user.user_name)) break; if(i == INODENUM) { printf(\ return ; } inum = i; printf(\ scanf(\ getchar(); if((mode < 1) || (mode > 3)) { printf(\ return; } for(i = 0; i < FILENUM; i++)

if(file_array[i].inum < 0) break; if(i == FILENUM) {

printf(\ return ; } filenum = i; file_array[filenum].inum = inum;

strcpy(file_array[filenum].file_name, inode_array[inum].file_name); file_array[filenum].mode = mode; printf(\ if(mode == 1) printf(\

else if(mode == 2) printf(\ else printf(\}

// 功能: 从文件中读出字符(read file1) void read() { int i, inum; if(argc != 2) { printf(\ return; } for(i = 0; i < FILENUM; i++)

if((file_array[i].inum > 0) &&

!strcmp(file_array[i].file_name,argv[1])) break; if(i == FILENUM) { printf(\ return ; } else if(file_array[i].mode == 2) { printf(\ return ; } inum = file_array[i].inum; printf(\ if(inode_array[inum].length > 0) { read_blk(inum); for(i = 0; (i < inode_array[inum].length) && (temp[i] != '\\0'); i++) printf(\ } }

// 功能: 向文件中写入字符(write file1) void write() { int i, inum, length; if(argc != 2) { printf(\ return ; }

for(i = 0; i < FILENUM; i++) if((file_array[i].inum>0)&&

!strcmp(file_array[i].file_name,argv[1])) break; if(i == FILENUM) { printf(\ return ; } else if(file_array[i].mode == 1) { printf(\ return ; } inum = file_array[i].inum; printf(\ if(inode_array[inum].length == 0) { i=0;

inode_array[inum].address[0] = get_blknum(); printf(\ while(i<1023&&(temp[i]=getchar())!=EOF) i++; temp[i]='\\0'; length=strlen(temp)+1;

inode_array[inum].length=length; if(length > 512)

inode_array[inum].address[1] = get_blknum(); save_inode(inum); write_blk(inum); } else printf(\}

// 功能: 关闭已经打开的文件(close file1) void close(void) { int i; if(argc != 2) { printf(\ return ; } for(i = 0; i < FILENUM; i++) if((file_array[i].inum > 0) &&

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育操作系统实验文件管理C++代码 (3)全文阅读和word下载服务。

操作系统实验文件管理C++代码 (3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1105497.html(转载请注明文章来源)
上一篇:遥感算法
下一篇:民航规章分类
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top