• 大小: 33KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: C/C++
  • 标签: 文件系统  

资源简介

非常适合初学者的,用C语言开发的文件多用户二级文件系统,可以读,写,写保护,读保护等,有一些简单的动画界面

资源截图

代码片段和文件信息

#include “stdio.h“
#include “string.h“
#include “conio.h“
#include “stdlib.h“
#include 

#define MAXNAME 25                  /*the largest length of mfdnameufdnamefilename*/
#define MAXCHILD 50                 /*the largest child每个用户名下最多有50个文件*/
#define MAX (MAXCHILD*MAXCHILD)     /*the size of fpaddrno*/

typedef struct                     /*the structure of OSFILE定义主文件*/
{
int  fpaddr;                   /*file physical address*/
    int  flength;                  /*file length*/
    int  fmode;    /*file mode:0-Read Only;1-Write Only;2-Read and Write; 3-Protect;*/
    char fname[MAXNAME];           /*file name*/
} MainFile;

typedef struct                     /*the structure of UserDir定义用户文件目录*/
{
char ufdname[MAXNAME];         /*用户文件目录 name*/
MainFile ufdfile[MAXCHILD];    /*用户文件目录 own file*/
}UserDir;

typedef struct                    /*the structure of OSUFD‘LOGIN定义用户结构体*/
{
char ufdname[MAXNAME];        /*ufd name*/
    char ufdpword[8];             /*ufd password*/
} User;

typedef struct     /*file open mode定义操作方式*/
{
int ifopen;     /*ifopen:0-close1-open*/
    int openmode;   /*0-read only1-write only2-read and write3-protect*/
}OPENMODE;

void LoginSystem();                /*LOGIN FileSystem*/
void DirFile();                    /*Dir FileSystem*/
void Create();                     /*Create File*/
void Delete();                     /*Delete File*/
void ModifyFileMode();             /*Modify FileMode*/
void OpenFile();                /*Open File*/
void CloseFile();                  /*Close File*/
void ReadFile();                /*Read File*/
void WriteFile();                  /*Write File*/
void QuitSystem();                /*Quit FileSystem*/
void ChangeUser();            /*Change Dir*/
void SaveFile();                   /*save user file*/
void DeleteUser();                 /*save user*/
void FirstUse();                   /*The fist time use system*/
void Clean();                      /*clean the screen*/
void Loading();                    /*loading user and file*/
int  CreateUser(char*);            /*create new user*/
void Help();

char *RemoveTailBlank(char *str);  /*remove the trailing blanks.*/
char *RemoveHeadBlank(char *str);  /*remove the heading blanks.*/
void InputPW(char *password);      /*input passworduse ‘*‘ replace*/
int ExistUser(char *dirname);      /*Whether DirName ExistExist-iNot Exist-0*/
int WriteFile1();                  /*write file*/
int ExistFile(char *filename);     /*Whether FileName ExistExist-iNot Exist-0*/
void SetPANo(int RorW);            /*Set physical address num*/
int FindPANo();                    /*find out physical address num*/

int UserNum=0;                     /*the count of mfd‘s ufds用户数*/
int FileNum[MAXCHILD];             /*the count of ufd‘s files子文件数*/
int loginsuc=0;                    /*whether login successfully登陆成功*/
char username[MAXNAME];            /*record login user‘s name 原始登录用户名*/

评论

共有 条评论