资源描述:
《简易文本编辑器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、//简易文本编辑器,包含KMP算法,大量指针的使用#include#include#include#include#includeusingnamespacestd;structzifu//录入或者读入的每一个字符都用链表进行存储{chardata;zifu*pnext;};structbiao_zhi//存取要被替换或删除的字符所在位置{zifu*tihuan1;zifu*tihuan2;intwei_zhi;biao_zhi*pnext;};//回车和空格可以检测到,回车和空格可
2、以存入数组//回车的存入格式为'',空格为'',每一行有80个字符空间//再怎么长,没有输入回车也按照一行处理//i加1记录出入的字符的个数,回车空格也会统计在内//录入功能zifu*lu_ru(){getchar();//丢弃第一个回车符zifu*phead=NULL;zifu*ptail=NULL;zifu*ptemp=NULL;//用来开辟临时空间zifu*phead1=NULL;//用来把所有的字符从头到尾再输出一遍charch;//获取输入的字符//inti=0;//intj=0;while((ch=getchar())!=EOF)//判断输入是否完成输入{
3、ptemp=newzifu[1];//开辟一个空间ptemp->data=ch;//暂时存着字符ptemp->pnext=NULL;//i++;//字符个数加1if(phead==NULL/*&&phead1==NULL*/){phead=ptemp;ptail=ptemp;}else{ptail->pnext=ptemp;ptail=ptail->pnext;}}phead1=phead;while(phead1!=NULL){cout<data;phead1=phead1->pnext;}returnphead;}intbao_cun(zifu*pt
4、emp3){charch;charname[30];inti=0;cout<<"输入文件名(格式H:\xxx.txt):";getchar();//丢弃第一个回车符//获取文件名ch=getchar();while(ch!=''){name[i]=ch;ch=getchar();i++;}name[i]=' ';ofstreamoutFile(name);if(!outFile){cerr<<"ereor:unabletoopenfile!";return1;}while(ptemp3!=NULL){outFile<data;//将字符ch写入文
5、件ptemp3=ptemp3->pnext;}cout<<"保存成功,请到H盘查找"<