资源简介
基于Linux的模拟文件系统管理的设计与实现
在Linux环境中实现文件系统的功能
代码片段和文件信息
#include
#include
#include
typedef struct file{
char name[10];
struct file *next;
}File;
typedef struct content{
char name[10];
File *file;
int f_num;
struct content *next;
}Content;
typedef struct user{
char name[10];
char psw[10];
Content *con;
struct user *next;
}User;
char cur_user[20];
User *user;
int user_num=0;
void write(char name[]){
FILE *p;
char ch;
p=fopen(name“w“);
ch=getchar();
while(1){
fputc(chp);
ch=getchar();
if(ch==‘#‘) break;
}
fclose(p);
}
void read(char name[]){
FILE *p;
int i=0;
p=fopen(name“r“);
while(!feof(p)){
i++;
printf(“%c“fgetc(p));
}
if(i==0) printf(“The File Is Empty!\n“);
fclose(p);
}
void addNewUser(){
int exist;
char name[10];
char psw[10];
User *head*p;
Content *con;
if(user_num==10){
printf(“Has 10 users!\n“);
return;
}
do{
printf(“Input New User Name(0~10):\n“);
scanf(“%s“name);
exist=0;
head=user->next;
while(head!=NULL){
if(strcmp(head->namename)==0){
exist=1;
break;
}
head=head->next;
}
if(exist==1) printf(“The User Have Existed!\nPlease Input Again:“);
}while(exist==1);
printf(“Input New User Password(0~10):\n“);
scanf(“%s“psw);
p=(User *)malloc(sizeof(User));
strcpy(p->namename);
strcpy(p->pswpsw);
con=(Content *)malloc(sizeof(Content));
con->next=NULL;
p->con=con;
p->next=NULL;
head=user;
while(head->next!=NULL) head=head->next;
head->next=p;
user_num++;
printf(“Add New User Success!\n“);
}
int display_files(Content *con){
int i=0;
File *file;
file=con->file;
file=file->next;
while(file!=NULL){
i++;
printf(“File %d: %s\n“ifile->name);
file=file->next;
}
printf(“ A Total Of %d Files\n“i);
return i;
}
int is_exist_file(File *fchar name[]){
int exist=0;
File *file=f->next;
while(file!=NULL){
if(strcmp(file->namename)==0){
exist=1;
break;
}
file=file->next;
}
return exist;
}
void add_file(Content *con){
int exist;
char f_name[10];
char tail[]=“.txt“;
FILE *q;
File *file=con->file;
File *new_f;
if(con->f_num==10){
printf(“Has 10 file!\n“);
return;
}
do{
exist=0;
printf(“Input New File Name:“);
scanf(“%s“f_name);
strcat(f_nametail);
if(is_exist_file(con->filef_name)) exist=1;
if(exist==1) printf(“The File Have Existed!\n“);
}while(exist==1);
q=fopen(f_name“w“);
fclose(q);
while(file->next!=NULL) file=file->next;
new_f=(File *)malloc(sizeof(File));
strcpy(new_f->namef_name);
new_f->next=NULL;
file->next=new_f;
con->f_num++;
printf(“Add File %s Success!\n“f_name);
}
void read_file(Content *con){
char name[10];
char tail[]=“.txt“;
int find=0;
File *file=con->file->next;
printf(“Input The FileName You Want To Display:“);
scanf(“%s“name);
strcat(nametail);
while(file!=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9740 2009-07-08 23:45 file3.c
----------- --------- ---------- ----- ----
9740 1
- 上一篇:Power Designer 15
- 下一篇:在线作业系统,在线提交作业
相关资源
- 嵌入式系统linux学习心得
- centos-6.4-x86_64位百度云链接
- unix linux 等的xerces安装及配置
- Linux试题
- linux下telnet源代码
- Linux 0.11下信号量的简单实现——用生
- linux ubuntu
- linux下多线程socket通信完整源码文件
- 深入理解Linux内核第三版中文版+英文
- 最全Linux C 库函数官方中文API手册
- UbuntuLinux下通过ndiswrapper安装无线网卡
- deepin-scrot
- linux下Questasim10/Modelsim安装以及破解方
- how linux works 精通linux 中文版 第二版
- 在Linux环境下模拟实现简单命令解释器
- IT机房搬迁实施方案
- 马哥Linux2016全套视频教程及随堂笔记
- 山东大学linux期末复习资料.zip
- Linuxc聊天室,有日志功能可群聊可私
- 简易路由器-demo
- 2018年Linux系统安全检查、加固shell脚本
- 上传项目到Linux服务器
- CentOS-7-x86_64-DVD-1611.iso镜像
- LinuxFTP简单实现、
- Linux_C函数库参考手册(清晰版完整版
- 马哥Linux运维共208讲(初级中级高级必
- 《嵌入式Linux驱动开发教程》书中完整
- Linux常用命令手册大全
- 电子相册--QT
- NVIDIA-Linux-x86_64-378.09
评论
共有 条评论