C語言關於對檔案的刪除操作

2021-03-31 08:56:58 字數 771 閱讀 2593

有乙個c語言的題目要求對檔案中的資料進行刪除操作,據我所知c語言好象沒有刪除檔案中的資料的函式?於是只能考慮通過相關的檔案開啟方式(r,w,a,r+,w+,a+)與fread(),fwrite()等函式實現刪除的操作!

首先把檔案中的資料讀取到乙個指標結構體,由於檔案中的資料大小不能確定,所以不能使用結構體陣列,使用指標結構體目的是使用malloc()來動態分配儲存空間.然後再把資料讀取到這個結構體中,接著篩選資料寫回到檔案中.

由於我們得先取出檔案中資料跟長度,所以檔案的開啟方式選擇r:讀取資料但不刪除(不選r+因為只讀取不寫入,不選w,w+因為刪除了資料還取什麼?不選a,a+根本不需要理由),資料讀取完之後是重新寫入的操作,檔案開啟方式選擇w.

struct info

*temp,client;

void del()

while((fread(&client,sizeof(struct info),1,fp1))==1)

count+=1; //統計長度

temp=(struct info *)malloc(count*(sizeof(struct info)));//分配儲存空間

rewind(fp1);

fread(temp,sizeof(struct info),count,fp1); //讀取檔案中的資料到指標結構體

fclose(fp1);

if((fp2=fopen("telefon.dat","w")==null)//刪除原檔案,建立同名的空檔案用於寫入

else

fclose(fp3);}}

C語言中對檔案的操作

13.3 檔案的開啟與關閉 檔案在進行讀寫操作之前要先開啟,使用完畢要關閉。所謂開啟檔案,實際上是建立檔案的各種有關資訊,並使檔案指標指向該檔案,以便進行其它操作。關閉檔案則斷開指標與檔案之間的聯絡,也就禁止再對該檔案進行操作。在 語言中,檔案操作都是由庫函式來完成的。在本章內將介紹主要的檔案操作函...

c語言對檔案的操作

檔案使用方式 含義 r 唯讀 開啟乙個文字檔案,只允許讀資料 w 只寫 開啟或建立乙個文字檔案,只允許寫資料 a 追加 開啟乙個文字檔案,並在檔案末尾寫資料 rb 唯讀 開啟乙個二進位制檔案,只允許讀資料 wb 只寫 開啟或建立乙個二進位制檔案,只允許寫資料 ab 追加 開啟乙個二進位制檔案,並在檔...

C語言中對檔案的操作

在c語言中對檔案的操作是通過file結構體來完成的。讀檔案 1 讀取檔案 fread 2 memset 用指定的字元來設定一塊buffer.可避免字串找不到結尾,也可避免增加不必要的字串長度 3 得到檔案的長度 ftell 它是得到檔案指標當前的位置,因為檔案指標隨檔案移動,所以指標當前位置就是檔案...