c語言中如何刪除檔案中的一條記錄

2022-02-17 13:19:33 字數 1840 閱讀 6112

1樓:匿名使用者

1、刪除檔案部分內容的大概步驟:新建一個臨時檔案,把原檔案內容向臨時檔案裡拷貝,遇到要刪除的內容就跳過。結束後關閉檔案,用remove("原檔名");把原檔案刪除,用rename("臨時檔名","原檔名");把臨時檔名改為原檔名。

2、例如在原檔案123.txt中刪除以2和以4編號開頭的行,可用以下**實現:

#include "stdio.h"

#include "stdlib.h"

int main(void)

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

2樓:匿名使用者

最近做資料結構課設,也在想這個問題,想到的方法比較笨,但還算可行吧。資料最先儲存的時候用一個陣列record[100],把資料存進去,然後寫入檔案,之後有要刪除的資料的話,就修改陣列record[100],再重新寫入檔案就好了。

3樓:德魯皮百

你去請教專業的回答的人吧,向他提問。

c語言中怎麼刪除陣列中的一個元素

4樓:禾生七七

方法:刪除就是將其下

copy標所在位置的中的內容置為空(也就是0),然後從此位置開始,後面的內容前移,再把最後那個位置的置為空(就是0)。

前移無非就是 類似 arr[ i - 1] = arr[ i ] 這個意思。

當可以確認陣列中存放的都是整數,你可以將這個元素置為-1表示刪除。增加就是先檢查你的陣列中有沒有-1的元素,如果有,就設定為你的值。如果全部都滿了,就開一個更大的陣列,把資料拷貝過去。

把相應位後面的一次前移一位,就是實現了刪除操作,可以用個for迴圈就可以實現了。

陣列的記憶體分配:變數在記憶體中是從大到小定址的(記憶體中以位元組為單位),比如00000000 00000000 00000000 00001010在記憶體中,00001010的地址是最小的;而陣列則有些不同,陣列的元素自然的從上往下排列 儲存,整個陣列的地址為首元素的地址。 (但是組成元素的位元組還是按從大到小)。

5樓:匿名使用者

#include "stdio.h"

int main()

c語言中怎麼刪除陣列中的一個元素?

6樓:禾生七七

方法:刪除就是將其下標所在位置的中的內容置為空(也就是0),然後從此位置開始,後面的內容前移,再把最後那個位置的置為空(就是0)。

前移無非就是 類似 arr[ i - 1] = arr[ i ] 這個意思。

當可以確認陣列中存放的都是整數,你可以將這個元素置為-1表示刪除。增加就是先檢查你的陣列中有沒有-1的元素,如果有,就設定為你的值。如果全部都滿了,就開一個更大的陣列,把資料拷貝過去。

把相應位後面的一次前移一位,就是實現了刪除操作,可以用個for迴圈就可以實現了。

陣列的記憶體分配:變數在記憶體中是從大到小定址的(記憶體中以位元組為單位),比如00000000 00000000 00000000 00001010在記憶體中,00001010的地址是最小的;而陣列則有些不同,陣列的元素自然的從上往下排列 儲存,整個陣列的地址為首元素的地址。 (但是組成元素的位元組還是按從大到小)。

c語言中如何將檔案中的某行的字串讀撒來

include include include define maxcols 2000 設定每行字元數不超過maxcols,根據變化調整 獲取已經開啟檔案fp的第line行內容到stri,如果成功返回得到的位元組數,如果沒有那麼多行,返回 2 int getlinetxt file fp,int l...

c語言中數的小數如何表示c語言中一個數的小數如何表示

4.2用c語言表示 double d 4.2。c語言中用於描述小數的資料型別是float和double,float型別表示單精度浮點數,double表示雙精度浮點數。1 float float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點型別的單精度值具有 4 個位元組,包括一個符號位 一個 8...

在c語言中檔案中定義的全域性變數在另

全域性變數extern可以 copy在其他源程式中使用 全域性變bai量dustatic只能在本程式中使用。zhi 全域性變數是使用相同的記憶體塊在整個dao類中儲存一個值。全域性變數既可以是某物件函式建立,也可以是在本程式任何地方建立。全域性變數是可以被本程式所有物件或函式引用。包含該全域性變數所...