利用TFileStream讀檔 如何把前面的資料清除後存檔 |
尚未結案
|
ouwant
一般會員 發表:2 回覆:1 積分:0 註冊:2003-05-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
ouwant 您好: 請先參考一下這一篇,看看能不能幫上忙?
如何將資料寫入去檔頭????
http://delphi.ktop.com.tw/topic.php?topic_id=57140
7 天天敲鍵盤 v 時時按滑鼠 8
|
ouwant
一般會員 發表:2 回覆:1 積分:0 註冊:2003-05-15 發送簡訊給我 |
引言: ouwant 您好: 請先參考一下這一篇,看看能不能幫上忙? 如何將資料寫入去檔頭???? http://delphi.ktop.com.tw/topic.php?topic_id=57140 7 天天敲鍵盤 v 時時按滑鼠 8hi, RedShow 你好 我目前想做的是把已用TFileStream開啟的檔案 去掉前面1k的資料在寫回 和這個範例所作的好像有點不太一樣 不過還是謝謝你的回應 感恩 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
ouwant 您好: 我直覺想到的方法如下 (未做最佳化與容錯處理):
AnsiString file = "c:\\temp.dat"; TFileStream *fs = new TFileStream(file, fmOpenReadWrite); BYTE *buf = new BYTE[fs->Size]; int cutsize = 1024; // 此處改成您要截掉表頭大小的 Byte 數 fs->Position = cutsize; fs->Read(buf, fs->Size - cutsize); fs->Size = fs->Size - cutsize; fs->Position = 0; fs->Write(buf, fs->Size); delete buf; delete fs;如果這樣子處理仍不符您所需,那麼可否請您說明一下,在截掉 1KB 的表頭資料後,您打算用何種方式做寫入的動作?如果方便的話,請將那段做寫入動作的程式碼貼上來,我看看是否能提供更為合適的方案? 7 天天敲鍵盤 v 時時按滑鼠 8 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |