多筆資料儲檔,若新有增欄位如何處理? |
答題得分者是:Stallion
|
kenneth_c
一般會員 發表:5 回覆:8 積分:2 註冊:2007-08-03 發送簡訊給我 |
請教各位前輩:
小弟原本用一個檔「set.dat」,來儲存struck定義出Metting資料總Total為4筆
開檔時再將每筆依序讀到Mset_b[i]這個陣列中,之後程再去讀對應資料,但常因欄位增加、減少而要隨之去修改資料很麻煩ex:(多加一p6),則在開檔取資料時,取的資料第5欄位的資料對應就都錯了,不知有何方式可處理?或如何處較佳?希望各位前輩給於幫忙,謝謝!!
const Total=4;
struct Msetting_struct
{
I32 p1,p2,p3,p4,p5;
}; Msetting_struct Msetting,Mset_b[Total]; FILE *F_mptr;
//---------------------------------------------------------------------------
char *f_n1=".\\setting\\set.dat";//儲存的檔案
F_mptr=fopen(f_n1,"r+");
for(int i=0;i
|
kenneth_c
一般會員 發表:5 回覆:8 積分:2 註冊:2007-08-03 發送簡訊給我 |
上面的程式碼有部分不小心被刪,以下重貼
<textarea cols="60" rows="10" class="cpp" name="code"> const Total=4; struct Msetting_struct { I32 p1,p2,p3,p4,p5; }; Msetting_struct Msetting,Mset_b[Total]; FILE *F_mptr; //--------------------------------------------------------------------------- char *f_n1=".\\setting\\set.dat";//儲存的檔案 F_mptr=fopen(f_n1,"r "); for(int i=0;i <=Total;i ) { fseek(F_mptr,sizeof(Msetting)*(i),0); fread(&Msetting,sizeof(Msetting),1,F_mptr); Mset_b[i]=Msetting ; } </textarea>
編輯記錄
Stallion 重新編輯於 2007-08-06 14:30:06, 註解 無‧
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
kenneth_c
一般會員 發表:5 回覆:8 積分:2 註冊:2007-08-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |