发布网友 发布时间:2022-04-30 22:29
共1个回答
热心网友 时间:2022-06-19 15:40
我有以前用过的,应该可以和用 你可以参考下 代码太长我分两部分发吧 ***********文 件管理系统***********/ #include <stdio.h> #include <stdlib.h> /*不容易归类的标准函数库*/ #include <conio.h> #include <string.h> #include <sys\stat.h> #include <fcntl.h> /*非标准文件输入输出操作的代码符号属性*/ #include <dos.h> #include <io.h> int init() /*初始化操作界面函数*/ {int i; clrscr(); gotoxy(23,3);printf("* * * * * * * * * * * * * *"); gotoxy(27,4);printf("FILE MANAGE SYSTEM"); gotoxy(23,5);printf("* * * * * * * * * * * * * *"); gotoxy(23,7);printf("NETWORK033 Cai Guiquan NO.1"); gotoxy(28,9);printf("1--Creat File"); gotoxy(28,10);printf("2--Delete File"); gotoxy(28,11);printf("3--OPen File"); gotoxy(28,12);printf("4--Write File"); gotoxy(28,13);printf("5--Locate File"); gotoxy(28,14);printf("6--Modify File"); gotoxy(28,15);printf("7--Copy File"); gotoxy(28,16);printf("8--Move File"); gotoxy(28,17);printf("9--Cataloge Manage"); gotoxy(28,18);printf("10--Exit File"); gotoxy(25,21); printf("Please Choice:"); scanf("%d",&i); return(i); /*选择相应的序号,执行相应的操作*/ } main() {int x,i,j,flag=1; char name[15],name1[15],name2[40]; char choice,ch; int handle,status; /*定义文件的指针和状态*/ FILE *fp; while(flag) /*初始化系统界面*/ {i=init(); getchar(); switch(i) { case 1:label1: /*创建文件操作*/ clrscr(); gotoxy(27,5);printf("CREAT FILE\n"); for(j=0;j<40;j++) printf("= "); printf("\n\nPlease input the creating file name and routine:\n"); scanf("%s",name); getchar(); handle=creatnew(name,0);/*按指定的文件方式创建文件,若有同名文件返回错误代码*/ if(handle==-1) { printf("\nSorry,the file already exists."); getchar(); printf("\nInput again?(Y or N)"); scanf("%c",&choice);getchar(); if(choice=='Y'||choice=='y') goto label1; } else { printf("\nThe file is created."); printf("Do you now input contentof the file?(Y or N):"); while(1) /*输入创建文件的内容*/ { scanf("%c",&choice); if(choice=='y'||choice=='n'||choice=='Y'||choice=='N') break; else printf("\nError!Please input again!"); } if(choice=='y'||choice=='Y') { printf("\nNow input content to the file(End with '#'):\n\n"); fp=fopen(name,"w");/*把内容存放到fp指向的文件中去*/ ch=getchar(); while(ch!='#') { fputc(ch,fp); ch=getchar(); } fclose(fp);getchar();/*关闭文件*/ } getchar(); break; case 2:label2: /*删除文件的操作*/ clrscr(); gotoxy(25,5);printf("DELETE FILE\n"); for(j=0;j<40;j++) printf("= "); printf("\n\nPlease input the deleting file name and routine:\n"); scanf("%s",name); /*输入要删除的文件名*/ getchar(); printf("\n Are you sure?(Y or N):"); while(1) { scanf("%c",&choice); if(choice=='y'||choice=='n'||choice=='Y'||choice=='N') break; else printf("\nError!Please input again!"); } if(choice=='y'||choice=='Y') {status=access(name,0);/*获取文件的状态,是否存在*/ if(status!=0) {printf("\nSorry the file doesn't exist!"); getchar(); printf("\n\nInput again?(Y or N)"); scanf("%c",&choice);getchar(); if(choice=='Y'||choice=='y') goto label2; } else { status=access(name,02);/*获取文件的状态,是否存在并且是否只读*/ if(status!=0) { printf("\nSorry the file is only read!"); getchar(); } else {unlink(name); /*从目录中删除一个文件函数,该函数在dos.h中*/ printf("\n\ndelete succefully!"); getchar(); } } } getchar(); break; case 3:label3: /*打开文件操作*/ clrscr(); gotoxy(27,5);printf("OPEN FILE\n"); for(j=0;j<40;j++) printf("= "); printf("\n\nPlease input the opening file name and routine:\n"); scanf("%s",name); status=access(name,0);/*获取文件的状态*/ if(status!=0) {printf("\nSorry the file doesn't exist!"); getchar(); printf("\n\nInput again?(Y or N)"); scanf("%c",&choice);getchar(); if(choice=='Y'||choice=='y') goto label3; } else { printf("\nNow begin to read the file:\n"); fp=fopen(name,"r"); ch=fgetc(fp); /*读出文件到内存*/ while(ch!=EOF) {printf("%c",ch); ch=fgetc(fp);j++; } fclose(fp);getchar();/*关闭文件*/ } getchar(); break; case 4:label4: /*写文件操作*/ clrscr(); gotoxy(27,5);printf("WRITE FILE\n"); for(j=0;j<40;j++) printf("= "); printf("\n\nPlease input the writing file name and routine:\n"); scanf("%s",name); status=access(name,0);/*获取name指向的文件状态*/ if(status!=0) {printf("\nSorry the file doesn't exist!"); getchar(); printf("\n\nInput again?(Y or N)"); scanf("%c",&choice);getchar(); if(choice=='Y'||choice=='y') goto label4; } else {fp=fopen(name,"w");/*以写入方式打开name 指向的文件*/ printf("\nPlease input the information(end with '#'):\n"); ch=getchar(); /*重写文件*/ while(ch!='#') { fputc(ch,fp); ch=getchar(); } fclose(fp);getchar();/*关闭文件*/ } getchar(); break; case 5:label5: /*定位文件操作*/ clrscr(); gotoxy(27,5);printf("LOCATE FILE\n"); for(j=0;j<40;j++) printf("= "); printf("\n\nPlease input the locating file name and routine:\n"); scanf("%s",name); status=access(name,0);/*获取name文件指向的文件的状态*/ if(status!=0) {printf("\nSorry the file doesn't exist!"); getchar(); printf("\n\nInput again?(Y or N)"); scanf("%c",&choice);getchar(); if(choice=='Y'||choice=='y') goto label5; } else {printf("\nPlease input the location:"); scanf("%d",&x); handle=open(name,O_CREAT|O_RDWR,S_IREAD|S_IWRITE);/*打开由name指定的文件,name既可以是简单的文件名*/