因為式結構定義的
基本類型是數組
所以
例如刪除
name[1]
addr[1](也就是第二個信息)
可以將個數組後面的向前移動
用一個循環
B. 關於C語言中 文件里數據刪除
工作10年,還沒有人會對文件直接這么操作的。最簡單的方法是把內容從文件中讀到內存,然後在內存刪除修改後,再寫迴文件中。計算機的寫文件等速度非常快的,不用擔心。
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;
}
D. 如何在c語言中清空文件里的內容(很急)
在c語言中清空文件里的內容的代碼:
示例:
#include "
stdio.h"
main()
{FILE *fp;
if(fp=fopen("要清空的件","w+")==NULL)/*以寫的方式打開已經存的文件相當於是答清空。*/
{printf("Error.");
getch();
exit(0);}
fclose(fp);
(4)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");
}
E. 在c語言中,怎麼刪除掉文件中的一段數據塊
不能直接刪除哦!
你可以先讀出來,然後重寫!比如文件中存的「aaaabbbbccccc」,現在想刪除「bbbb」,只要先把文件中的內容讀到字元數組中,然後把要刪除的部分剔除掉,然後再保存到該文件中就好了。
F. c語言怎麼刪除文件中指定的數據
新建一個文件
將原文件內容讀出,將不刪除數據寫入新文件,完成後關閉文件
將原文件刪除或者更名成備份文件
將新文件改名成原文件名
G. C文件操作如何刪除文件中的數據
讀取到內存,刪掉之後再保存回去。要不另建一個文件,源文件讀,篩選你要的數據保存到目標文件。文件方式操作只能這樣。
另一種不劃算的方法,在磁碟上定位文件及結構,直接在磁碟上操作。
H. 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 允許負值的出現.
I. C語言中如何刪除文件中的一條記錄
1、刪除文件部分內容的大概步驟:新建一個臨時文件,把原文件內容向臨時文件里拷貝,遇到要刪除的內容就跳過。結束後關閉文件,用remove("原文件名");把原文件刪除,用rename("臨時文件名","原文件名");把臨時文件名改為原文件名。
2、例如在原文件123.txt中刪除以2和以4編號開頭的行,可用以下代碼實現:
#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;
}
J. C語言中如何刪除文件中的信息
對文件的操作可以理解為對數組的操作
你可以想想在數組中如何刪除一個或一段數據?!
問題的關鍵你沒說清楚
是刪除這一段數據還是把這段數據清0(或其他)