《操作系统实验文件管理C++代码.doc》由会员分享,可在线阅读,更多相关《操作系统实验文件管理C++代码.doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统实验文件管理C+代码#include #include #include #include #include using namespace std; #define BLKSIZE 512 #define BLKNUM 512 #define INODESIZE 32 #define INODENUM 32 #define FILENUM 8 /用户 typedef struct / 数据块的大小 / 数据块的块数 / i节点的大小 / i节点的数目 / 打开文件表的数目 char user_name10; / 用户名 char password10; / 密码 User; /i节点
2、 typedef struct short inum; / 文件i节点号 char file_name10; / 文件名 char type; / 文件类型 char user_name10; / 文件所有者 short iparent; / 父目录的i节点号 short length; / 文件长度 short address2; / 存放文件的地址 Inode; /打开文件表 typedef struct short inum; / i节点号 char file_name10; / 文件名 short mode; / 读写模式(1:read, 2:write, / 3:read and w
3、rite) File_table; / 申明函数 void login(void); void init(void); int analyse(char *); void save_inode(int); int get_blknum(void); void read_blk(int); void write_blk(int); void release_blk(int); void pathset(); void del(int); / 用户命令处理函数 void help(void); void cd(void); void dir(void); void mkdir(void); voi
4、d creat(void); void open(void); void read(void); void write(void); void close(void); void delet(void); void logout(void); void command(void); void quit(); /main.cpp文件 /#include /定义全局变量 char choice; int argc; / 用户命令的参数个数 char *argv5; / 用户命令的参数 int inum_cur; / 当前目录 char temp2*BLKSIZE; / 缓冲区 User user;
5、 / 当前的用户 char bitmapBLKNUM; / 位图数组 Inode inode_arrayINODENUM; / i节点数组 File_table file_arrayFILENUM; / 打开文件表数组 char image_name10 = / 文件系统名称 FILE *fp; / 打开文件指针 /创建映像hd,并将所有用户和文件清除 void format(void) int i; Inode inode; printf( printf( printf( scanf( getchar(); if(choice = y) | (choice = Y) if(fp=fopen(image_name, printf( exit(-1); for(i = 0; i 2 / 2