Ⅰ c语言中如何对文件的部分内容删除
文件是顺序存储的,你用退格键不能完成删除作用,那是用于显示屏的方法。
第1种方法可以,但由于文件可能尺寸较大,无法一次性全部读入内存,还要用到分块读入、写。
普通办法是:
打开输入文件
打开输出文件(另一个文件名)
分块将输入文件内容读入,读入当前块遇到要删除字符在内存中删除
将当前块写到输出文件
依此处理所有块
关闭输出文件
关闭输入文件
删除输入文件或改名
将输出文件改名成输入文件
对于文件来说,在其中删除或添加内容是比较繁琐的工作。
Ⅱ C语言如何删除文件内容
1、打开Sublime Text软件,新建一个C语言文件,然后导入C语言库
Ⅲ 怎么对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.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语言中如何在文件操作中删除内容
对文件的操作可以理解为对数组的操作
你可以想想在数组中如何删除一个或一段数据?!
问题的关键你没说清楚
是删除这一段数据还是把这段数据清0(或其他)
Ⅳ 如何用c语言实现删除文件中指定的数据;例如
1、首先我们输入【deleteScore】函数,先看整体代码,再一一解释。
注意事项:
C语言提供了许多低级处理的功能,并仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
Ⅵ 用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.txt
ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt
if(fin==NULL||ftp==NULL){
printf("Openthefilefailure... ");
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");//将临时文件名改为原文件名
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、建立抄一个.c或者.cpp文件,还要建立一个.txt文件进行操作处理,并且写上c语言的编译预处理,头文件,主函数。
Ⅸ 如何在c语言中清空文件里的内容(很急)
在c语言中清空文件里的内容的代码:
示例:
#include "
stdio.h"
main()
{FILE *fp;
if(fp=fopen("要清空的件","w+")==NULL)/*以写的方式打开已经存的文件相当于是答清空。*/
{printf("Error.");
getch();
exit(0);}
fclose(fp);
(9)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语言 怎么将一个txt文件的所有信息删除
c语言将一个txt文件的所有信息删除的实现方法是以写模式打开一个同名文件,用来覆盖原来的文件,这样原来文件的内容将被删除。
具体显示方法如下:
int main()
{
int i;
FILE *data;
data = fopen("peding.txt", "w");
if(!data) {
perror("对不起,文件找不到");
return 1;
}
/*循环写入100次 */
for(i = 0; i < 100; i++)
writedata(data);
fclose(data);
return 0;
}
/*写入内容不操作*/
void writedata(FILE *data)
{
//刷新缓冲区
/* do other stuff */
...
}