⑴ 求助C语言 删除文本文件内的指定字符串
#include<stdio.h>#include<string.h>intmain(){charinfilename[]="indata.txt";charoutfilename[]="outdata.txt";charstr[81];//假定每个文件名不超过80个字符chars[81];FILE*fin,*fout;fin=fopen(infilename,"rt");fout=fopen(outfilename,"wt");if(fin==NULL||fout==NULL){printf("不能打开文件。");return1;}printf("待删除的字符串:");gets(str);while(fgets(s,81,fin))if(strcmp(str,s))fprintf(fout,"%s",s);fclose(fin);fclose(fout);return0;}
⑵ C语言中如何删除文件中的一条记录
1、删除文件部分内容的大概步骤:新建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove("原文件名");把原文件删除,用rename("临时文件名","原文件名");把临时文件名改为原文件名。2、例如在原文件123.txt中删除以2和以4编号开头的行,可用以下代码实现:
#include"stdio.h"#include"stdlib.h"intmain(void){FILE*fin,*ftp;chara[1000];fin=fopen("123.txt","r");//读打开原文件123.txtftp=fopen("tmp.txt","w");//写打开临时文件tmp.txtif(fin==NULL||ftp==NULL){printf("Openthefilefailure…");exit(0);}while(fgets(a,1000,fin))//从原文件读取一行if(a[0]!='2'&&a[0]!='4')//检验是要删除的行吗?fputs(a,ftp);//不是则将这一行写入临时文件tmp.txtfclose(fin);fclose(ftp);remove("123.txt");//删除原文件rename("tmp.txt","123.txt");//将临时文件名改为原文件名return0;}
⑶ 如何用c语言文件操作来实现删除文件某段内容功能
C语言删除磁盘文件内容中间一段字符串的方法假定磁盘文件中连续存放了相同长度的若干段字符串,要删除中间的某一段字符串,剩下的继续保存在文件中。 代码如下,有比较清楚的注释。 //变量定义部分省略 file=fopen(pathname,"rb");//打开磁盘文件,file是文件指针,pathname是磁盘文件的路径和文件名filedata[0] = (char *)malloc(LENGTH*sizeof(char));//filedata是指针数组用于存放删除后的临时数据,LENGTH是每个字符串的相同长度 //找出要删除的字符串,并将其它的字符串存入临时指针数组 for(found=0,y=0;fread(filedata[y],LENGTH,1,file); )//found用于判断是否找到要删除的字符串{*(filedata[y]+LENGTH)='\0';if(found==0)//没有找到前才进行比较{if( strcmp(deldata,filedata[y])==0 )//deldata是要删除的字符串{found=1; //找到要删除的字符串,从临时存放的指针数组中删除 free(filedata[y]);y–;}}y++;filedata[y] = (char *)malloc((LENGTH+1)*sizeof(char));}free(filedata[y]);//y多加了1,多申请了一段内存空间fclose(file);if(found==0){printf("没有找到要删除的字符串。\n");}else//将已删除指定字符串后剩余的所有数据从临时存放的指针数组中重新保存到磁盘文件 {file=fopen(pathname,"wb");for(m=0;m{fwrite(filedata[m],LENGTH,1,file);free(filedata[m]);//释放内存} fclose(file); }
⑷ C语言如何删除文件内容
1、打开Sublime Text软件,新建一个C语言文件,然后导入C语言库
⑸ c语言删除文件中指定结点的内容
差不多只能这么干,这样做也不是很麻烦,不过开始的时候写到另一个新文件里好些,不然以前的东西丢了就麻烦了。
⑹ c语言中怎样删除文件内的单条内容和全部内容
若要删除全部内容可以用重新创建同命名文件即可wb+,若要单条删除则需要在写入之前重新创建文件,然后在把处理好的内容写进去,这种方法是比较浪费时间的。也许我的能力不足,所以我只能想到这个办法。可继续追问
⑺ 用C语言如何删除文件中的数据
1、重建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove("原文件名");把原文件删除,用rename("临时文件名","原文件名");把临时文件名改为原文件名就OK了。
2、比如要按题面要求在原文件123.txt中删除编号为2和4的信息行,则可用以下代码实现:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.#include"stdio.h"#include"stdlib.h"intmain(void){FILE*fin,*ftp;chara[1000];fin=fopen("123.txt","r");//读打开原文件123.txtftp=fopen("tmp.txt","w");//写打开临时文件tmp.txtif(fin==NULL||ftp==NULL){printf("Openthefilefailure…");exit(0);}while(fgets(a,1000,fin))//从原文件读取一行if(a[0]!='2'&&a[0]!='4')//检验是要删除的行吗?fputs(a,ftp);//不是则将这一行写入临时文件tmp.txtfclose(fin);fclose(ftp);remove("123.txt");//删除原文件rename("tmp.txt","123.txt");//将临时文件名改为原文件名return0;}
⑻ C语言如何对文本文件删除里面指定的内容
把文本文件读出来 存成数组在数组中执行删除操作将数组写回文本文件C的文件不提供直接删除操作 只能这样做
⑼ c语言中如何对文件的部分内容删除
1、建立抄一个.c或者.cpp文件,还要建立一个.txt文件进行操作处理,并且写上c语言的编译预处理,头文件,主函数。
⑽ c语言 如何删除文件中部分内容
你的描述不清晰,B1和B2两个结构数组,到底要删除哪个?B[2]是肯定不对的,这两个数组的长度都是2,下标只能是0和1,即B1[0],B1[1],B2[0],B2[1]。你还是先把问题说清楚了,这个程序不难写。
未经允许不得转载:山九号 » c删除文件内容|c语言中如何对文件的部分内容删除