通常有兩種方法來實現這壹功能:
1.想保留的寫在另壹個文件裏,想刪除的不要寫。
2.將要保存的內容存儲在字符串變量中,要刪除的內容不需要存儲。最後,將這個字符串寫回原始文件以覆蓋原始內容。
常規:
# include & ltstdio.h & gt
struct?數據
{
int?邊浩;
夏爾?芬雷[10];
夏爾?明[12];
int?石堅[3];
浮動?嘉格;
}
作廢?del(int?Num){//定義函數刪除指定編號的內容?
文件?* f 1;//文件進行操作?
龍?長度;//文件總長度?
夏爾?* f2//用來記錄要保存的內容?
夏爾?s[100];//用來保存每次讀取的壹行內容?
int?n;//用來存儲號碼?
f1=fopen("data.txt "," r ");//以已讀方式打開文件?
fseek(f1,0,2);//文件指針移動到文件末尾?
長度= ftell(f 1);//獲取文件長度?
f2=(char?*)malloc(sizeof(char)* length);//分配文件長度的空間給f2?
* F2 = 0;//使f2字符串的長度初始為0?
倒帶(f 1);//文件指針返回文件頭?
while(ftell(f 1)& lt;Length-3){//文件沒讀完就依次讀文件的每壹行?
fgets(s,100,f 1);//讀取壹行信息?
n = atoi(s);//從讀取的信息中獲取號碼?
if(n==num)?繼續;//如果要刪除號碼,不需要保存這行信息?
strcat(f2,s);//保存已讀行信息?
}
fclose(f 1);//關閉文件?
f1=fopen("data.txt "," w ");//通過寫入重新打開文件?
fputs(f2,f 1);//將保存的信息恢復到文件中?
fclose(f 1);//關閉文件?
}
int?main(){
del(1);?//調用上面定義的函數刪除指定編號的內容?
德爾(3);?//參數是數字?
系統(“暫停”);//暫停?
}