線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1203
推到 Plurk!
推到 Facebook!

開啟檔案的問題

尚未結案
gqlv
一般會員


發表:18
回覆:10
積分:5
註冊:2003-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-08 18:29:31 IP:218.104.xxx.xxx 未訂閱
我是这样从一个文件读取数据到一缓冲区的: FileHandle = FileOpen("kk.bmp", fmOpenRead); FileSeek(iFileHandle,0,0); pszBuffer = new char[500]; iBytesRead =FileRead(iFileHandle, pszBuffer, 500); 我跟踪执行,发现读不到500(文件足够大),会不会是读入时遇到了什么字符停止了? 有什么解决办法呀?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-10 23:38:08 IP:61.221.xxx.xxx 未訂閱
引言: 我是这样从一个文件读取数据到一缓冲区的: FileHandle = FileOpen("kk.bmp", fmOpenRead); FileSeek(iFileHandle,0,0); pszBuffer = new char[500]; iBytesRead =FileRead(iFileHandle, pszBuffer, 500); 我跟踪执行,发现读不到500(文件足够大),会不会是读入时遇到了什么字符停止了? 有什么解决办法呀?
gqlv 你好: 試試改用 TMemoryStream class 來讀取檔案的內容吧 < class="code"> TMemoryStream *ms=new TMemoryStream; ms->LoadFromFile("kk.bmp"); // Do something..... delete ms;
備註:
(1)建議你自行查詢 BCB Help 中有關 TMemoryStream class 的說明
(2)也可以利用本站的搜尋功能,就可以找到很多有關 TMemoryStream class 的
   範例程式碼喔
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-11 11:00:56 IP:218.160.xxx.xxx 未訂閱
1.假如檔案大於500,應該會讀進來500個bytes. 2.你可能要檢查kk.bmp是否存在,在該工作路徑內?要不然用絕對路徑試看看,如"c:\\kk.bmp" 3.檢查FileOpen傳回來的值是不是-1,假如FileHandle==-1,表示檔案不存在. 4.你怎麼知道讀進來的資料不到500bytes?檢查iBytesRead值?或直接看pszBuffer的內容,假如直接看pszBuffer的內容或strlen(pszBuffer)則有可能小於500,你應該檢查iBytesRead的值,表示讀進來的bytes數.
lostsuniverse
一般會員


發表:9
回覆:6
積分:3
註冊:2005-07-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-06 18:23:00 IP:218.175.xxx.xxx 未訂閱
FileHandle = FileOpen("kk.bmp", fmOpenRead); FileSeek(iFileHandle,0,0); pszBuffer = new char[500]; iBytesRead =FileRead((iFileHandle, pszBuffer, 500);
haman
中階會員


發表:46
回覆:137
積分:56
註冊:2005-03-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-20 02:22:46 IP:211.76.xxx.xxx 未訂閱
可以參考包子大大在 http://delphi.ktop.com.tw/topic.php?topic_id=25912 及 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25913 的開檔/讀檔/寫檔的作法(用TMemoryStream)
系統時間:2024-05-04 10:16:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!