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

請問指標代入 TMemoryStream

尚未結案
esbcc
一般會員


發表:18
回覆:17
積分:7
註冊:2005-02-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 00:51:44 IP:61.219.xxx.xxx 未訂閱
就像底下的指標out可以直接代入 TMemoryStream 嗎? 是想看一下matrix在運算後的資料放在out,長度是out_len.再用TMemoryStream 的方式寫到一個檔案. 不知這樣那裹有錯,並沒有得到正確的資料. 或者是否可以直接由 *out存檔出去? 請教一下..
 
#ifndef IN_LEN
#define IN_LEN                (2048*1024L)    
#endif
#define OUT_LEN                (IN_LEN *2)    //---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        int total;
        byte *in;
        byte *out;
        byte *mem;
        int in_length;
        int out_length;
        int new_length;
 
         in = (byte) malloc(IN_LEN);
        out = (byte) malloc(OUT_LEN);
        mem = (byte) malloc(IN_LEN OUT_LEN);
        in_len = IN_LEN;
        memset(in,6,in_len);
 
        total = matrix(in,in_len,out,&out_len,mem);
        
   TMemoryStream *ms3=new TMemoryStream;
   ms3->Size=out_len;
   ms3->Position=0;
   ms3->Write( out, out_len);
   ms3->SaveToFile("out.dat");
   delete ms3;
} 
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-24 09:02:46 IP:211.23.xxx.xxx 未訂閱
將out寫出這段是對的, 下面是一個測試碼
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   byte out[5] = {65,66,67,68,69};       TMemoryStream *ms3=new TMemoryStream;
   ms3->Size=5;
   ms3->Position=0;
   ms3->Write(out, 5);
   ms3->SaveToFile("c:\\out.dat");
   delete ms3;
}
這段碼確實可以把out的值寫出, 所以你應該檢查在呼叫完matrix()後, out, out_len 所得的結果是否正確.
系統時間:2024-05-19 17:46:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!