BlockRead讀取檔案 |
缺席
|
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
我利用下面的這段代碼讀取檔案,雖然是用Buf接資料,但隨即轉給Result,應該沒有長度的問題,但發現,讀取的資料比原本的資料還多,請問,Buf的長度有關係嗎,謝謝!
[code delphi] function myreader(filename:string):string; var karf:file; Buf:array[1..1024] of Char; NumRead:integer; begin if not fileexists(fn) then abort; AssignFile(karf,fn); Reset(karf,1); repeat BlockRead(karF,Buf,SizeOf(Buf),NumRead); if NumRead>0 then result:=result strtohex(buf); until NumRead=0; end; [/code] |
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
還是找不出問題,怕是觀念上的問題,用另一個方式達到目的,貼出來分享。
[code delphi] function myreader(fn:string):string; var fs:TStream; buff:array [0..65535] of Byte; tt:integer; begin fs:=TFileStream.Create(fn,fmOpenRead); try while fs.Position for tt:=0 to fs.Size-1 do result:=result bytetohex(buff[tt]); finally fs.Free; end; end; [/code] |
xbx
一般會員 發表:0 回覆:10 積分:12 註冊:2003-08-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |