當前位置:首頁 » 編程語言 » C語言刪除文件的數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言刪除文件的數據

發布時間: 2023-03-12 07:11:34

⑴ 用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語言中怎樣從文件中刪除數據,盡量有代碼,謝謝啊~

你好!!
不知你向文件輸入的是什麼數據,輸入數據的函數很多,有fputc(s,fp);有fwrite()函數、、、、
下面是想文件輸入字元,並把字元串中的小寫字元轉換成大寫字元:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main()
{
FILE *fp;
char filename[20];
printf("請輸入文件的名稱:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file !!!\n");
exit(0);

}
printf("請輸入字元直至結束(ctrl +z):");
fflush(stdin);
char s;

while(scanf("%c",&s)!=EOF)
{
if(islower(s))
s=toupper(s);//把小寫字元轉換成大寫字元
fputc(s,fp);

}

rewind(fp);//是位置指針重新返迴文件的開頭,此函數沒有返回值

if((fp=fopen(filename,"r"))==NULL)//以讀的方式打開文件
{
printf("cannot open file !!!\n");
exit(0);

}

while(!feof(fp))
{
s=getc(fp);
putchar(s);

}

return 0;

}
測試:
請輸入文件的名稱:hello
請輸入字元直至結束(ctrl +z):hello world !
Z
Z
HELLO WORLD !
Press any key to continue

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

⑷ C語言中如何刪除一個已經創建了的文件中的一些內容

#include
void
main()
{
file*
fp
=
fopen("a.txt","w");//1.以w模式打開文件a.txt,即寫模式打開,會清除文件的所有內容
fclose(fp);//2.關閉文件,成了
}
/*就是這么簡單,這個代碼還可以用於創建文件,就是說沒有a.txt的情況下運行程序會生成a.txt文件*/

⑸ C語言如何刪除文件內容

1、打開Sublime Text軟體,新建一個C語言文件,然後導入C語言庫

⑹ c語言中如何對文件的部分內容刪除

1、建立一個.c或者.cpp文件,還要建立一個.txt文件進行操作處理,並且寫上c語言的編譯預處理,頭文件,主函數。

⑺ c語言怎麼刪除文件中指定數據

用fseek函數定義流指針位置,位置需要自己計算。利用offset。然後再寫入新內容覆蓋舊內容。但這么做有缺陷,新內容必須和就內容一樣長,否則覆蓋不完全或把後面的內容也覆蓋。

所以,我建議直接新建新文件寫入完整的新數據,更簡單。

fseek()用來移動文件流的讀寫位置.

1、參數stream 為已打開的文件指針,
2、參數offset 為根據參數whence 來移動讀寫位置的位移數。參數 whence 為下列其中一種:
SEEK_SET 從距文件開頭offset 位移量為新的讀寫位置. SEEK_CUR 以目前的讀寫位置往後增加offset 個位移量.
SEEK_END 將讀寫位置指向文件尾後再增加offset 個位移量. 當whence 值為SEEK_CUR 或
SEEK_END 時, 參數offset 允許負值的出現.

⑻ 如何在c語言中清空文件里的內容(很急)

在c語言中清空文件里的內容的代碼:

示例:

#include "

stdio.h"

main()

{FILE *fp;

if(fp=fopen("要清空的件","w+")==NULL)/*以寫的方式打開已經存的文件相當於是答清空。*/

{printf("Error.");

getch();

exit(0);}

fclose(fp);

(8)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語言如何刪除文件中的數據

因為式結構定義的
基本類型是數組
所以
例如刪除
name[1]
addr[1](也就是第二個信息)
可以將個數組後面的向前移動
用一個循環

⑽ 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;
}