您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 数据结构实验四-文本的查找与替换
实验五文本的查找与替换一、实验目的1.掌握串的实现;2.掌握常用的C风格的串处理函数;3.掌握文件的读写操作。二、实验相关知识1.复习C语言文件读写的相关知识2.复习课本中第4章关于串的相关知识点;三、实验内容与要求(二选一)1.编程实现对指定文本文件进行查找与替换。【设计要求】打开指定的文本文件inpaper.data,输入查找串t1和替换串t2,然后把inpaper.data文本文件中所有的t1串替换为t2串,并输出。2.编写程序实现对0-1字符文件的压缩。【设计要求】打开指定的文本文件source.data,该文件是用0和1字符所组成,把文件中每8个字符压缩成一个字节,若文件最后不足8位则以0补充,并写入输出文档out.data。四、程序代码及运行结果【程序代码】#includestdio.h#includestdlib.h#includestring.h#defineSOURCEFILEinpaper.data#defineMaxSize100000charinpaper[MaxSize];charoutpaper[MaxSize];chart1[MaxSize];//查找串chart2[MaxSize];//替换串intGetdata(charpaper[]);voidReplace(charNstr[],charCstr[],chart1[],chart2[]);intOutputdata(charpaper[]);intmain(){char*current;inti=0;intj=0;Getdata(inpaper);printf(%s,inpaper);printf(请输入你要查找的串:\n);gets(t1);printf(请输入你替换后的串:\n);gets(t2);Replace(outpaper,inpaper,t1,t2);Outputdata(outpaper);printf(%s,outpaper);}intGetdata(charpaper[]){FILE*fp;if((fp=fopen(SOURCEFILE,rb))==NULL)/*以读方式打开文本文件*/{printf(Failuretoopenscore.txt!\n);return0;//读数据失败}inti=0;while(!feof(fp)){fscanf(fp,%c,&paper[i]);i++;}fclose(fp);return1;//成功读数据}intOutputdata(charpaper[]){FILE*fp;if((fp=fopen(out.data,wb))==NULL)/*以写方式打开文本文件*/{printf(Failuretoopenscore.txt!\n);return0;//写数据失败}for(inti=0;paper[i]!='\n';i++)fprintf(fp,%c,paper[i]);fclose(fp);return1;}voidReplace(charNstr[],charCstr[],chart1[],chart2[]){char*p=NULL;char*pos=NULL;pos=Cstr;intlen=strlen(t1);while((p=strstr(pos,t1))!=NULL){strncpy(Nstr,pos,p-pos);Nstr[p-pos]='\0';strcat(Nstr,t2);strcat(Nstr,p+len);strcpy(pos,Nstr);}strcpy(Nstr,pos);}【运行结果】五、实验心得体会巩固了字符串和文件读写的知识。
本文标题:数据结构实验四-文本的查找与替换
链接地址:https://www.777doc.com/doc-2308714 .html