1、简易文本编辑软件#include#include#include#include#define max 1000char textmax;char name30;int i=0;void edit();void open();void menu1();void creat();void find();void rename1();void delete1();void copy1();void copy2();void insert();/void menu()system(“cls“); /相当于 DOS下的 cls命令 (清屏)int j;printf(“t*简易文本编辑软件*n“);pr
2、intf(“ttt*-主菜单-*n“);printf(“ttt*-1.打开文件-*n“);printf(“ttt*-2.新建文件-*n“);printf(“ttt*-3.修改文件名-*n“);printf(“ttt*-4.删除文件-*n“);printf(“ttt*-5.拷贝文件-*n“);printf(“ttt*-0.退出-*“);printf(“ntt*选项*n“);printf(“nt输入选项 :“);scanf(“%d“,while(j!=1fflush(stdin);scanf(“%d“,switch(j)case 1:open();menu1();break;case 2:crea
3、t();break;case 3:rename1();menu();break;case 4:delete1();menu();break;case 5:copy1();menu();break;case 0:break;void menu1()int i;printf(“t*文件内容管理菜单*n“);printf(“ttt*-1.编辑-*n“);printf(“ttt*-2.查询-*n“);printf(“ttt*-3.拷贝-*n“);printf(“ttt*-4.插入-*n“);printf(“ttt*-0.回主菜单-*n“);printf(“tt*选项*“);printf(“nt输入选项
4、 :“);scanf(“%d“,while(i!=1fflush(stdin);scanf(“%d“,switch(i)case 1:edit();break;case 2:find();break;case 3:copy2();menu();break;case 4:insert();break;case 0:menu();break;/void creat()FILE *fp;char ch;while(1)printf(“退出返回主菜单请按 qn请输入要新建的文件名或路径和文件名:n“);scanf(“%s“,name);if(strcmp(name,“q“)=0)menu();brea
5、k;if(fp=fopen(name,“r“)!=NULL)printf(“文件名已存在n“);fclose(fp);elsebreak;while(1)if(fp=fopen(name,“w“)=NULL)printf(“新建文件失败“);exit(0);elseprintf(“新建文件成功n“);printf(“是否进行编辑 Y/Nn“);fflush(stdin);scanf(“%c“,if(ch=Y|ch=y)edit();break;if(ch=n|ch=N)printf(“请输入任意键.n“);getch();menu();break;elseprintf(“输入有误请重新输入n“
6、);/void main()menu();printf(“n谢谢您的使用“);/void edit()FILE *fp;char ch,chm;int n=1;doif(fp=fopen(name,“a+“)=NULL)printf(“error“);exit(0);printf(“输入回车键结束n 请输入内容:n“);fflush(stdin);while(ch=getchar()!=n)fputc(ch,fp);fclose(fp);printf(“保存返回主菜单 Y/N ?“);fflush(stdin);scanf(“%c“,if(chm=y|chm=Y)n=0;menu();brea
7、k;if(chm=N|chm=n)printf(“您可以继续编辑n“);while(n);/void open()FILE *fp;char ch;while(1)printf(“退出返回主菜单请按 qn请输入要打开的文件名或路径和文件名:n“);fflush(stdin);scanf(“%s“,name);if(strcmp(name,“q“)=0)menu();break;if(fp=fopen(name,“r“)=NULL)printf(“文件不存在n“);elsefclose(fp);break;if(fp=fopen(name,“r“)=NULL)system(“PAUSE“); e
8、lsei=0;while(!feof(fp)ch=fgetc(fp);texti+=ch;texti=0;fclose(fp);printf(“文件读取成功n 文件内容为:n“);printf(“%sn“,text); /void find()FILE *fp;char ch,chm,key20,ch1;int j=0,p,m,q,k=0,l;if(fp=fopen(name,“r“)=NULL)printf(“文件不存在n“);system(“PAUSE“); elsefclose(fp);while(1)for(j=0;j=0,l=0;p-)if(textp=keyl)l-;elsebre
9、ak;if(l+1)=0)k+;m=p+1;printf(“查找下一个请敲回车键其他键退出这次查找n“);printf(“您这次查找的内容是从第%d 个字符开始n“,m+1);fflush(stdin); scanf(“%c“,if(ch1!=n)break;if(q=(i+1)printf(“查找结束 “);if(k=0)printf(“对不起,没有您查找的内容n“);printf(“是否需要继续查找?y/nn“);fflush(stdin);scanf(“%c“,if(chm=n|chm=N)printf(“请输入任意键.n“);getch();menu1();break;/void re
10、name1()char newname20,oldname20;FILE *fp;while(1)printf(“退出返回主菜单请按 qn请输入要修改的文件名或路径和文件名:n“);scanf(“%s“,if(strcmp(oldname,“q“)=0)menu();break;if(fp=fopen(oldname,“r“)=NULL)printf(“不存在该文件n“);elsefclose(fp);break;while(1)printf(“请输入修改后的文件名或路径和文件名:n“);scanf(“%s“,if(fp=fopen(newname,“r“)!=NULL)fclose(fp);
11、printf(“该文件已存在n“);elsebreak;if(rename(oldname,newname)=0)printf(“文件修改成功:文件%s 修改为文件%sn“,oldname,newname);printf(“请输入任意键.n“);getch();elseprintf(“文件修改失败n“);printf(“请输入任意键.n“);getch();/void delete1()FILE *fp;while(1)printf(“退出返回主菜单请按 qn请输入要删除的文件名或路径和文件名:n“);scanf(“%s“,if(strcmp(name,“q“)=0)menu();break;
12、if(fp=fopen(name,“r“)=NULL)printf(“不存在该文件n“);elsebreak;fclose(fp);if(remove(name)=0)printf(“删除%s 文件成功“,name);printf(“请输入任意键.n“);getch();elseprintf(“删除%s 文件成功“,name);printf(“请输入任意键.n“);getch();/void copy1()FILE *fp,*fq;char file120,ch;while(1)printf(“退出返回主菜单请按 qn请输入要拷贝的文件名或路径和文件名:n“);scanf(“%s“,if(st
13、rcmp(name,“q“)=0)menu();break;if(fp=fopen(name,“r“)=NULL)printf(“不存在该文件n“);elsebreak;while(1)printf(“请输入您打算存放拷贝文件的路径:“);scanf(“%s“,if(fq=fopen(file1,“r“)!=NULL)printf(“该文件已存在n“);fclose(fq);elsebreak;fq=fopen(file1,“wt“);while(ch=fgetc(fp)!=EOF)fputc(ch,fq);fclose(fq);printf(“文件拷贝成功n“);printf(“请输入任意键
14、“);getch();void copy2()FILE *fq;char file130,ch;while(1)printf(“退出拷贝请按 qn“);printf(“请输入您打算存放拷贝内容的文件名或文件名和路径:n“);fflush(stdin);scanf(“%s“,if(strcmp(file1,“q“)=0)menu1();break;if(fq=fopen(file1,“a+“)=NULL)printf(“该文件不存在 “);elsei=0;while(texti!=0)ch=texti+;fputc(ch,fq);fclose(fq);printf(“文件内容拷贝成功n“);pr
15、intf(“请输入任意键.n“);getch();break;void insert()char ch,charu100,key30,ch11000,ch2100;int j=0,p,m,q,k=0,l,f=0,n;FILE *fp;while(1)printf(“请输入要插入的内容:n“);j=0;fflush(stdin);while(ch=getchar()!=n)charuj=ch;j+;charuj=0;printf(“请输入该内容插入的位置:n“);j=0;fflush(stdin);while(ch=getchar()!=n)keyj=ch;j+;keyj=0;for(q=0;q
16、=0,l=0;p-)if(textp=keyl)l-;elsebreak;if(l+1)=0)for(j=0;j=1000;j+)ch1j=0;for(j=0;j=100;j+)ch2j=0;n=p+1;f+;for(k=0,m=0;kn;k+,m+)ch1m=textk;for(k=n,m=0;k=i;k+,m+)ch2m=textk;strcat(ch1,charu);strcat(ch1,ch2);if(fp=fopen(name,“w“)=NULL)printf(“error“);system(“PAUSE“);fputs(ch1,fp);fclose(fp);if(fp=fopen(
17、name,“r“)=NULL)system(“PAUSE“); i=0;while(!feof(fp)ch=fgetc(fp);texti+=ch;texti=0;fclose(fp);printf(“插入编辑成功n 文件内容为:n“);printf(“%s“,text);break;if(q=(i+1)printf(“此次插入结束. “);if(f=0)printf(“对不起,没有您插入的位置n“);printf(“n是否需要继续插入?y/nn“);fflush(stdin);scanf(“%c“,if(ch=n|ch=N)printf(“请输入任意键.n“);getch();menu1();break;