c文件删除部分内容|c语言中如何对文件的部分内容删除

c文件删除部分内容|c语言中如何对文件的部分内容删除的第1张示图

『壹』 如何在C中删除文件中的某项内容小弟谢谢了同题请指教

除非采用特殊的方式,否则是不可能实现这种效果的。文件结构是不可能只把其中一部分删除掉,你要把后面的部分搬移到对应的hole上。通常数据库文件中可以实现删除某掉记录,所采用的方法有,1、设置固定长度的数据结构,文件中每一项的长度是固定,通过在文件中对应项上修改删除标记位来达到删除数据的目的。 2、采用日志记录分析,文件的访问是通过日志来进行的,日志描述文件的状态,也就是说删除操作时记录在日志内,由日志负责提供一个虚拟的文件。通常楼主的这种要求,我们的做法是:1、在文件中,把要删除的部分后面的内容搬移到删除位置,调用api设置文件结尾位置。 2、如果要删除的东西很零散,搬移的效率会很低,会采用内存数据结构记录,然后再mp到硬盘上。

『贰』 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语言如何删除文件内容

1、打开Sublime Text软件,新建一个C语言文件,然后导入C语言库

『肆』 c语言中如何对文件的部分内容删除

1、建立抄一个.c或者.cpp文件,还要建立一个.txt文件进行操作处理,并且写上c语言的编译预处理,头文件,主函数。

『伍』 如何在c语言中清空文件里的内容(很急)

在c语言中清空文件里的内容的代码:

示例:

#include "

stdio.h"main(){FILE *fp;if(fp=fopen("要清空的件","w+")==NULL)/*以写的方式打开已经存的文件相当于是答清空。*/{printf("Error.");getch();exit(0);}fclose(fp);

(5)c文件删除部分内容扩展阅读

C语言remove()函数:删除文件或目录

clude<stdio.h>

int main(){

charfilename[80];

printf("Thefiletodelete:");

gets(filename);

if(remove(filename)==0)

printf("Removed%s.",filename);

else

perror("remove");

}

『陆』 如何用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语言中如何删除文件中的部分内容

文件定位删除,用fseek函数定位 stream指针到你想要的位置,删除添加修改等随你

『捌』 c语言怎么做到对文件中的内容进行更改或删除块写入和读取怎么使用定义结构体数组怎么用

1、删除文件部分内容的大概步骤:新建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove("原文件名");把原文件删除,用rename("临时文件名","原文件名");把临时文件名改为原文件名。2、例如在原文件123.txt中删除以2和以4编号开头的行,可用以下代码实现:#include "stdio.h"#include "stdlib.h"int main(void){FILE *fin,*ftp;char a[1000];fin=fopen("123.txt","r");//读打开原文件123.txtftp=fopen("tmp.txt","w");//写打开临时文件tmp.txtif(fin==NULL || ftp==NULL){printf("Open the file failure…\n");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");//将临时文件名改为原文件名return 0;}

『玖』 在c语言中,怎么删除掉文件中的一段数据块

不能直接删除哦!你可以先读出来,然后重写!比如文件中存的“aaaabbbbccccc”,现在想删除“bbbb”,只要先把文件中的内容读到字符数组中,然后把要删除的部分剔除掉,然后再保存到该文件中就好了。

『拾』 C语言怎么实现文件中部分数据的删除

删除文件部分内容的大概步骤:新建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove("原文件名");把原文件删除,用rename("临时文件名","原文件名");把临时文件名改为原文件名。 例如在原文件123.txt中删除以2和以4编号开头的行,可用以下代码实现:#include "stdio.h"#include "stdlib.h"int main(void){ FILE *fin,*ftp; char a[1000]; fin=fopen("123.txt","r");//读打开原文件123.txt ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt if(fin==NULL || ftp==NULL){ printf("Open the file failure…\n"); exit(0); } while(fgets(a,1000,fin))//从原文件读取一行 if(a[0]!='2' && a[0]!='4')//检验是要删除的行吗? fputs(a,ftp);//不是则将这一行写入临时文件tmp.txt fclose(fin); fclose(ftp); remove("123.txt");//删除原文件 rename("tmp.txt","123.txt");//将临时文件名改为原文件名 return 0;}

未经允许不得转载:山九号 » c文件删除部分内容|c语言中如何对文件的部分内容删除

赞 (0)