C語言中刪除乙個txt檔案

2025-07-18 16:35:09 字數 5056 閱讀 5218

1樓:暢景彰

你試試看這個程式,我先建立乙個檔案,然後關閉以後刪除這個檔案,在vc裡面通過執行了,而且我也找不到這個檔案了,你試試看。

#include

#include

int main(void)

你看看你之前執行的程式都關乾淨了麼,你把你具體程式發出來餓,這樣截一段怎麼看。就光我這幾句語句的話我執行以後是沒有檔案的了。

2樓:網友

c語言主要可以通過remove函式實現刪除乙個檔案,比如,#include

int main(void)

int remove( const char *fname );remove函式刪除由fname指定的檔案, remove函式執行成功時返回0,如果發生錯誤返回非零。fname為檔案絕對路徑或者程式所在的當前目錄,如例子中所示形式。

3樓:網友

刪除前要先用標頭檔案中的unlink(*filename)函式對檔案解除鎖定。

c語言 如何刪除txt檔案中的某段文字

4樓:一曲未了人已散

全部讀出來,刪掉不要的,再全部寫回去。

5樓:匿名使用者

檔案拷貝,遇到不要的,就不拷貝。

c語言的 幫忙寫乙個能刪除乙個d盤所有txt檔案的**

6樓:京縈

system("")調҉用҉

del /f /q /s g:\*txt為了安全我字尾改為了bat..碟符改為了g盤。

c語言如何刪除檔案內容?

7樓:

重建乙個臨時檔案,把原檔案內容向臨時檔案裡拷貝,遇到要刪除的內容就跳過。結束後關閉檔案,用remove("原檔名");把原檔案刪除,用rename("臨時檔名","原檔名");把臨時檔名改為原檔名就ok了。比如要按題面要求在原檔案中刪除編號為2和4的資訊行,則可用以下**實現:

#include ""//if the vc++,with this line.

#include ""

#include ""

int main(void)

while(fgets(a,1000,fin))//從原檔案讀取一行if(a[0]!='2' &&a[0]!='4')//檢驗是要刪除的行嗎?

fputs(a,ftp);//不是則將這一行寫入臨時檔案fclose(fin);

fclose(ftp);

remove("");//刪除原檔案。

rename("","");//將臨時檔名改為原檔名return 0;}

8樓:網友

你平時應該有這樣的經歷,就是開啟乙個。txt格式的**,在裡面刪除幾個字,系統反應卻很慢,這是為什麼呢?

因為檔案裡的內容都是在硬碟上按順序乙個位元組挨著乙個位元組擺放的,讀取檔案的時候,會從檔案首位址一直讀到檔案結束標記「-1」。如果能夠直接把檔案裡面的幾個位元組刪掉,那麼下次這個檔案怎麼讀呢?怎麼區分中間那幾個位元組被刪掉了呢?

所以對於這些簡單的檔案來說,要想直接刪除裡面的內容是不可能的。

一般有兩個方法實現這個功能:

1.把要保留的內容寫到另乙個檔案中,要刪掉的內容就不用寫了。

2.把要保留的內容儲存到乙個字串變數中,要刪掉的內容不用儲存,最後把這個字串再寫回到原檔案中覆蓋原來的內容。

9樓:政界

你是用的結構體吧,如果是,你可以先找到該編號的結構體再刪除就好了啊!

10樓:李磊

寫乙個函式,進行刪除 也可以的。

求助c語言 刪除文字檔案內的指定字串

11樓:網友

共享你的程式**,趁現在有時間,我幫你改。

12樓:京縈

如果你之前用結構體就好辦多了~~

c++中如何刪除乙個txt檔案?

13樓:網友

1.用remove函式。

功 能: 刪除乙個檔案。

用 法: int remove( const char *filename);

標頭檔案:在visual c++ 中可以用。

返回值:如果刪除成功,remove返回0,否則返回eof(-1)。

2.例:#include

int main()

在程式目錄下。

14樓:鄔增嶽管嬋

1.檔案小的話,完整讀入記憶體,在記憶體中刪除,然後以寫方式清空原始檔案並覆蓋;

2.檔案大的話,先逐段讀取,確認要刪除的起止位置,然後將之後的內容分段讀出並覆蓋到前面,最後截去檔案多餘的長度;

3.如果磁碟足夠大,也可以從頭讀取原始檔案並轉存到乙個快取檔案,遇到要刪除的地方則跳過不寫,所有內容都寫入快取檔案後,將快取檔案整個copy覆蓋原始檔案,刪除快取檔案。

c++沒有提供像器那樣提供那麼簡單快捷的直接刪除方法,只能夠覆蓋寫過去。

15樓:

幫一樓補充api的,可以用deletefile刪除指定的檔案,看原型:

bool winapi deletefile(__in lpctstr lpfilename);

16樓:網友

可以用cstdio (

int remove ( const char * filename );

也可以呼叫系統 api

用c語言如何刪除檔案中的資料

17樓:網友

不是很明白你的意思,你是不是隻想刪除檔案中的部分資料啊,你可以在檔案中的資料前後加標記,然後寫程式刪除標記之間的內容。

18樓:網友

因為式結構定義的 基本型別是陣列 所以。

例如刪除 name[1] addr[1](也就是第二個資訊)可以將個陣列後面的向前移動。

用乙個迴圈。

19樓:網友

沒別的辦法,就是重寫檔案。

如何用c語言刪除乙個txt文件中的字元

20樓:守望海之依賴

c語言修改txt文件的內容只能是先全部讀入記憶體中,然後修改,,再全部寫入檔案。

所以就需要先把檔案的內容fread(或者別的方式也可以)讀入字元陣列中,,然後在陣列中刪除你想要刪除的字元,,再fwrite(注意與之前讀的方式對應)到檔案中。。。

21樓:網友

儲存方式是連結串列還是陣列,連結串列簡單一些,直接讀出檔案中的所有資料(fp=fopen(".txt","wt")),找到要刪除的資訊,直接刪除,再重新寫入檔案;如果是陣列的話,也是同樣的開啟檔案,再寫入的時候判斷一下,不把要刪除的資料寫進去就可以了,if( .id!

12345) fprintf("");寫入資料。

22樓:世冷桖

如txt檔案內容為:

name:a,id:12,balance:

1name:ab,id:123,balance:

10name:abc,id:12345 ,balance:

100name:abcd,id:12345 ,balance:

1000name:abcdef,id:123456 ,balance:

要刪除第三條,則先定位到第四條的開頭,讀出後面的所有內容;然後定位到第三條的開頭,寫入先前讀到的內容。用ftell看當前位置,chsize設定新的檔案長度。

fseek:定位。

ftell:判斷當前位置。

chsize:設定檔案長度。

23樓:網友

如果你的資訊是按行儲存的,每次讀取一行,判斷是否包含輸入的賬戶,若包含就將這一行寫為空,或者使用後面的行來覆蓋。

c語言中如何對檔案的部分內容刪除

24樓:網友

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

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

#include ""

#include ""

int main(void)

while(fgets(a,1000,fin))//從原檔案讀取一行if(a[0]!='2' &&a[0]!='4')//檢驗是要刪除的行嗎?

fputs(a,ftp);//不是則將這一行寫入臨時檔案fclose(fin);

fclose(ftp);

remove("");//刪除原檔案。

rename("","");//將臨時檔名改為原檔名return 0;}

25樓:淳于春翠

檔案是順序儲存的,你用退格鍵不能完成刪除作用,那是用於顯示屏的方法。

第1種方法可以,但由於檔案可能尺寸較大,無法一次性全部讀入記憶體,還要用到分塊讀入、寫。

普通辦法是:

開啟輸入檔案。

開啟輸出檔案(另乙個檔名)

分塊將輸入檔案內容讀入,讀入當前塊遇到要刪除字元在記憶體中刪除將當前塊寫到輸出檔案。

依此處理所有塊。

關閉輸出檔案。

關閉輸入檔案。

刪除輸入檔案或改名。

將輸出檔案改名成輸入檔案。

對於檔案來說,在其中刪除或新增內容是比較繁瑣的工作。

26樓:黑色夫子

用fread讀出原始檔,丟棄或修改一部分內容,然後再fwrite到另乙個檔案,大致就是這樣吧。

追問:又沒別的?這個我會。

補充:就是這樣的啊,你想修改檔案當然是要先讀檔案,然後修改然後寫入,沒有其他的辦法。

27樓:網友

可以用另乙個檔案儲存(不儲存要刪除的部分),然後寫回原檔案。

c語言中return的用法,一個c語言中return的用法

跟return 沒有任何關係,肯定是scanf 的問題不然你用下面這個語句 c a b a b 代替 c max a,b 你再仔細檢查一下scanf 函式 不妨寫成這樣 scanf d,d a,b 輸入 3,4 注意輸入格式一定要與scanf 的格式一樣 你把scanf d n,d n a b 改為...

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

1 刪除檔案部分內容的大概步驟 新建一個臨時檔案,把原檔案內容向臨時檔案裡拷貝,遇到要刪除的內容就跳過。結束後關閉檔案,用remove 原檔名 把原檔案刪除,用rename 臨時檔名 原檔名 把臨時檔名改為原檔名。2 例如在原檔案123.txt中刪除以2和以4編號開頭的行,可用以下 實現 inclu...

c語言讀取檔案資料亂碼,c語言讀取txt檔案資料時最後有一串亂碼怎麼辦

參考 如下 include include include int main return 0 把開啟方式改為 r 以及把讀取資訊用fscanf吧,因為如果你是原先先把kk.txt寫好,然後再用你的程式開啟它的話,由於裡面有換行符以及空格等內容,除非開始你是用fwrite函式寫入的結構資訊,否則fr...