简单的行编辑器源程序_第1页
简单的行编辑器源程序_第2页
简单的行编辑器源程序_第3页
简单的行编辑器源程序_第4页
简单的行编辑器源程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<string.h>#include<stdio.h>#include<stdlib.h>#defineMAXL100/*最大行数*/#defineMAXC80/*每行最大字符数*/#definetrue1charlinesMAXLMAXC=0;voidedit(char(*lines)MAXC);voidmodify(char(*lines)MAXC);voidmydelete(char(*lines)MAXC);voidsearch(char(*lines)MAXC);voidreplace(char(*lines)MAXC);voids

2、avetofile(char(*lines)MAXC);voidmyexit(char(*lines)MAXC);voidmenu(char(*lines)MAXC)intselection;dosystem("cls");puts("tt*MUNU*nn");puts("tt1.Editnewline");puts("tt2.Replaceline");puts("tt3.Deleteline");puts("tt4.Searchline");puts("tt5.

3、Modifydata");puts("tt6.Save");puts("tt0.Exit");puts("nntt*n");printf("Pleaseselectanumber:bb");doscanf("%d",&selection);if(selection<0|selection>6)printf("Invalidselection!Pleasetryagain");printf("andselectanumber:bbn&qu

4、ot;);elsebreak;while(true);switch(selection)case1:edit(lines);break;case5:modify(lines);break;case3:mydelete(lines);break;case4:search(lines);break;case2:replace(lines);break;case6:savetofile(lines);break;case0:myexit(lines);while(true);intreadfile(char(*lines)MAXC,FILE*pfile)inti=0;while(!feof(pfil

5、e)fgets(linesi,MAXC,pfile);/*if(!strstr(linesi,"n")return1;*/i;return0;主函数/*/main()FILE*pfile;pfile=fopen("Linedit.txt","a");readfile(lines,pfile);fclose(pfile);menu(lines);编辑 */*voidedit(char(*lines)MAXC)inti,index;/*system("cls");*/clrscr();for(i=0,index=0;i

6、<MAXL;i)if(linesi0!=0)index;printf("%d:%s",index,linesi);printf("nnPleasetypeanewline:n");fflush(stdin);for(i=0;i<MAXL;i)if(linesi0='0')写入 */*每行第一个字符作为标志位空行可fgets(linesi,MAXC,stdin);return;elsecontinue;替换/*/voidreplace(char(*lines)MAXC)inti;intindline;intj,k;do/*sys

7、tem("cls");*/clrscr();/*打印所有*/for(i=0;i<MAXL;i)if(linesi0!=0)printf("%d:%s",i1,linesi);printf("nnWhichlinedoyouprefertoreplace?(Toquitpleaseinput0)bb");scanf("%d",&indline);if(indline=0)return;elsefor(j=0,k=0;j<MAXL;j)if(linesj0!=0)k;if(k=indline)pri

8、ntf("nnThelinetobereplacedis:n%s",linesj);printf("Pleasetypeyournewline:n");memset(linesj,0,MAXC);fflush(stdin);fgets(linesj,MAXC,stdin);break;while(true);删除/*/*voidmydelete(char(*lines)MAXC)inti,index;intindline;intj,k;do/*system("cls");*/clrscr();for(i=0,index=0;i<

9、MAXL;i)if(linesi0!=0)index;printf("%d:%s",index,linesi);printf("nnWhichlinedoyouprefertodelete?(Toquitpleaseinput0)bb");scanf("%d",&indline);if(indline=0)return;elsefor(j=0,k=0;j<MAXL;j)if(linesj0!=0)k;if(k=indline)printf("Thelinetobedeletedis:n%sn",lin

10、esj);memset(linesj,0,MAXC);system("pause");break;while(true);查找/*/*voidsearch(char(*lines)MAXC)inti,index;intindline;intj,k;do/*system("cls");*/clrscr();for(i=0,index=0;i<MAXL;i)if(linesi0!=0)index;printf("%d:%s",index,linesi);printf("nnWhichlinedoyouwanttosearc

11、h?(Toquitpleaseinput0)bb");scanf("%d",&indline);if(indline=0)return;elsefor(j=0,k=0;j<MAXL;j)if(linesj0!=0)k;if(k=indline)printf("Thelinetobesearchedis:n%sn",linesj);system("pause");break;while(true);修改/*/*在sSrc中用sReplaceStr替换sMatchStr*/intmodifystr(char*sSr

12、c,char*sMatchStr,char*sReplaceStr)intStringLen;charcaNewStringMAXC;char*FindPos=strstr(sSrc,sMatchStr);if(!FindPos)|(!sMatchStr)return-1;while(FindPos)memset(caNewString,0,sizeof(caNewString);StringLen=FindPos-sSrc;strncpy(caNewString,sSrc,StringLen);strcat(caNewString,sReplaceStr);strcat(caNewStrin

13、g,FindPosstrlen(sMatchStr);strcpy(sSrc,caNewString);FindPos=strstr(sSrc,sMatchStr);return0;voidmodify(char(*lines)MAXC)inti,indline;charbufMAXC;intk;intj;char*token=0;charsearchMAXC,replaceMAXC;do/*system("cls");*/clrscr();for(i=0;i<MAXL;i)if(linesi0!='0')printf("%d:%s"

14、;,i1,linesi);printf("nnWhichlinedoyouprefertomodify?(Toquitpleaseinput0)bb");scanf("%d",&indline);if(indline=0)return;elsefor(j=0,k=0;j<MAXL;j)if(linesj0!=0)k;if(k=indline)printf("nnThelinetobereplacedis:n%s",linesj);printf("nnInputthesearchstringandtherepla

15、ce");printf("(Toquitpleaseinputq):");memset(buf,0,MAXC);fflush(stdin);fgets(buf,MAXC,stdin);k=strlen(buf)-1;if(bufk='n')bufk='0'if(*buf='q'&&*(buf1)='0')return;memset(search,0,MAXC);memset(replace,0,MAXC);token=strtok(buf,"");strcpy(search,token);token=strtok(NULL,"");strcpy(replace,token);modifystr(linesj,search,replace);break;while(true);voidsavetofile(char(*lines)MAXC)FILE*pfile;inti;pfile=fopen("Linedit.txt","w");for(i=0;i<MAXL;i)if(linesi0!='0')fputs(linesi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论