Ⅰ 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 */
...
}