资源描述:
《c简易文本编辑器tt.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课题46:简易文本编辑器(2人)。要求:1)具有图形菜单界面;2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除;3)可正确存盘、取盘;4)正确显示总行数。#include#include#include#include#defineMAX10000#define_CRT_SECURE_NO_DEPRECATE//在vs中取消warning的警告voidmenu();voidshuru(chartext[]);voidbc(chartext[]);voidda
2、kai(chartext[]);voiddayin(chartext[]);voidchazhao(chartext[],intl);voidtihan(chartext[],intl);intstrindex(chartext[],chart[],inti2,intl);voidshanchu(charp[],intl);voidcs(chartext[]);voidcharu(chartext[],intl);voidtuichu(intstatus);chartext[MAX]="";//文本编辑域charname[20]="";//文件保存的位置intstatus
3、=0;//显示是否保存过的状态intntext;//文本编辑的位置voiddakai(chartext[]){system("cls");FILE*fp;charpd,ch;charname[30];inti=0;printf("输入A:确定打开文件(未保存的数据将会丢失)M:返回主菜单");fflush(stdin);pd=getchar();if(pd=='A'
4、
5、pd=='a'){printf("请输入要打开文件名字(例如c:\a.txt)");scanf("%s",name);while((fp=fopen(name,"r"))==NULL){printf("
6、n打开文件失败,请重新输入要打开的文件名:");scanf("%s",name);}cs(text);while(!feof(fp)){ch=fgetc(fp);text[i]=ch;i;}text[i]=' ';ntext=i;fclose(fp);printf("文件读取成功文件内容为");dayin(text);}if(pd=='M'
7、
8、pd=='m')menu();}voidbc(chartext[]){system("cls");FILE*fp;charpd;chartmp;inti;printf("输入【A】保存;任意键返回主菜单不保存"
9、);fflush(stdin);pd=getchar();if(!(pd=='A'
10、
11、pd=='a')){menu();}else{if(name[20]==NULL){printf("请输入保存文件名(例如:c:\a.txt):");scanf("%s",name);}while((fp=fopen(name,"w"))==NULL){printf("文件不存在,请重新输入文件名:");scanf("%s",name);}printf("A:确定;B:取消:");while(scanf("%c",&tmp)!=EOF){if(tmp=='A'
12、
13、tmp=='a
14、'){for(i=0;i15、
16、tmp=='b'){break;}}}}voidcs(chartext[]){inti;for(i=0;i