操作系统实验报告 文件管理系统 源程序

操作系统实验报告

node_temp->di_ctime; /* 创建时间 */

node_temp->di_mtime; /* 最后一次修改时间*/ node_temp->di_block=m; /* 数据块块地址编号 */

fseek(f_stream,DINODE_START+j*BLOCK_SIZE,SEEK_SET);

fwrite(node_temp,BLOCK_SIZE,1,f_stream); //将新建文件inode写入磁盘

dir_buf[cur_inode->di_number].d_ino=j;//修改当前目录的结构 dir_buf[cur_inode->di_number].name=str;

fseek(f_stream,DATA_START+BLOCK_SIZE*cur_inode->di_block,SEEK_SET);//将当前目录信息写入文件的block区

fwrite(dir_buf,BLOCK_SIZE,1,f_stream);

fseek(f_stream,DATA_START+m*BLOCK_SIZE,SEEK_SET);//将创建的文件夹的关联文件写入磁盘

fwrite(buf_dir,BLOCK_SIZE,1,f_stream);

cur_inode->di_number++;//当前目录关联文件数加一

superBlock.s_free_inodes_count--;//超级块中空闲的inode数目减一 superBlock.s_free_blocks_count--; //超级块中空闲的block数目减一 fseek(f_stream,BLOCK_SIZE,SEEK_SET);//修改超级块 fwrite(&superBlock,BLOCK_SIZE,1,f_stream);

fseek(f_stream,2*BLOCK_SIZE,SEEK_SET);//将修改后的inode位示图和block位示图写回磁盘

fwrite(di_bitmap,BLOCK_SIZE,1,f_stream); fwrite(bk_bitmap,BLOCK_SIZE,1,f_stream); cout<<\文件夹已成功添加\

return; }

36

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4