請問指標代入 TMemoryStream |
尚未結案
|
esbcc
一般會員 發表:18 回覆:17 積分:7 註冊:2005-02-11 發送簡訊給我 |
就像底下的指標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 發送簡訊給我 |
將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 所得的結果是否正確. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |