优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

VC374 C语言文件系统设计

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

  文件系统设计
1.文件系统
①下列几条命令
LOGIN    用户登陆
DIR       列文件目录
CREATE   创建文件
DELETE   删除文件
OPEN     打开文件
CLOSE    关闭文件
READ     读文件
WRITE    写文件
②列目录时要列出文件名,物理地址,保护码和文件长度。
③源文件可以进行读写保护。
①首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
②用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。
程序见下(本程序需要在c:下建一个名为osfile的目录及一个名为file的子目录):
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
#define MAXNAME 25  /*the largest length of mfdname,ufdname,filename*/
#define MAXCHILD 50 /*the largest child*/
#define MAX (MAXCHILD*MAXCHILD) /*the size of fpaddrno*/ think58

[来源:http://think58.com]

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(default);*/
   char fname[MAXNAME];        /*file name*/
  } OSFILE; think58.com

[资料来源:www.THINK58.com]


void ReadF() /*Read File*/
{int i,k,n=0;
 char fname[MAXNAME];
 char str[255],str1[255],c;
 char *rtrim(char *str);  /*remove the trailing blanks.*/
 char *ltrim(char *str);  /*remove the heading blanks.*/
 int ExistF(char *filename);  /*Whether FileName Exist,Exist-i,Not Exist-0*/
 int ExistD(char *dirname);
 if (strcmp(strupr(ltrim(rtrim(dirname))),"")==0) {printf("\nError.Please convert to ufd dir before read.\n");wgetchar=1;return;}
 printf("\nCaution:Open file first\n");
 printf("Opened File(s) List:\n");
 k=ExistD(dirname);
 for(i=0;i<fcount[k];i++)
   {if (ifopen[k][i].ifopen==1)
  if ((ifopen[k][i].openmode==0) ||(ifopen[k][i].openmode==2)) {printf("%15s",ufd[k]->ufdfile[i].fname);n++;}
 if((n%4==0)&&(n!=0)) printf("\n");
   }
 printf("\n%d files openned.\n",n);
 if (n==0) wgetchar=1;
 if(n!=0)
{printf("\nPlease input FileName:"); think58.com [来源:http://think58.com]
 gets(fname);
 ltrim(rtrim(fname));
 i=ExistF(fname);
 if(i>=0)
  {if(ifopen[k][i].ifopen==1)
   {if((ifopen[k][i].openmode==0) ||(ifopen[k][i].openmode==2))
  {itoa(ufd[k]->ufdfile[i].fpaddr,str,10);
   strcpy(str1,"file");
   strcat(str1,str);
   strcpy(str,"c:\\osfile\\file\\");
   strcat(str,str1);
   fp_file=fopen(str,"rb");
think58.com

[版权所有:http://think58.com]