請問動態陣列的大小問題? |
答題得分者是:dllee
|
kenbcb
中階會員 發表:171 回覆:129 積分:60 註冊:2003-07-15 發送簡訊給我 |
請問各位:
我開一個動態陣列,結果其大小只有4byte,但我傳值為19 int len = Socket->ReceiveLength();
AnsiString lenstr = (AnsiString)len;
Application->MessageBox(lenstr.c_str(),"Check",MB_OK);
char *b = new char[len];
Socket->ReceiveBuf(b,sizeof(b));
TMemoryStream *ms=new TMemoryStream;
ms->Write(b,sizeof(b));
ms->SaveToFile("View.dat");
delete ms;
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
kenbcb你好,
引言: int len = Socket->ReceiveLength(); AnsiString lenstr = (AnsiString)len; Application->MessageBox(lenstr.c_str(),"Check",MB_OK); char *b = new char[len]; Socket->ReceiveBuf(b,sizeof(b)); TMemoryStream *ms=new TMemoryStream; ms->Write(b,sizeof(b)); ms->SaveToFile("View.dat"); delete ms;其中b 為一指標,所以sizeof(b)大小只有4而已, 應該把sizeof(b)改為len就可以了,因為len才是資料真正的長度 如: Socket->ReceiveBuf(b,len); 我幫你測過了,ok! 國泰平安 發表人 - |
kenbcb
中階會員 發表:171 回覆:129 積分:60 註冊:2003-07-15 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 再請問一下, char *pack; char bf[9]; memmove(pack,bf,9); 但sizeof(pack)時,得到為4,不是9; 請問要如何解決呢?對不起,看到第二次還問相同的問題,我忍不住想笑 >>>>>>>>>>>沒空更新的網頁... href="http://dllee.adsldns.org">http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 「缺席」?? 小弟覺得dllee前輩答的很好耶, 還是你有什麼不懂的地方?或問題沒解決? 您的這個結案我想很多人都很錯諤... 國泰平安 >>< face="Verdana, Arial, Helvetica"> 哈哈! 我並沒有解答喔,因為在 C/C 的動態陣列(在此限 new 出來的東東)本來就不能得到大小的資訊,除非自已維護。 TMemoryStream 是一個物件,它有 Size 的屬性,由物件本身維護。如果自已不想維護,可以借用它。 另外,答題不是為了要得分,否則,我可能早就不想答題了,因為還有好多答了也不見得給分,人就已經不見了... 最近工作忙,也很少答題(還是有在看問題),只是正好看到這個問題實在是忍不住想笑,才回的。 gemi0305 版主,可別太在意喔 <>沒空更新的網頁... href="http://dllee.adsldns.org">http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
引言: 另外,答題不是為了要得分,否則,我可能早就不想答題了,因為還有好多答了也不見得給分,人就已經不見了... 最近工作忙,也很少答題(還是有在看問題),只是正好看到這個問題實在是忍不住想笑,才回的。 gemi0305 版主,可別太在意喔 >>< face="Verdana, Arial, Helvetica"> 小弟也有同感,在老早之前,我就對答題給分只有「隨緣」兩字, 我也是從一個發問者,慢慢才變成答題者,但偶爾還是會發問啦, 當我在發問的時候,覺得,只要有人肯熱心幫助我, 我就應該表示些謝意,必竟那也是占用了別人寶貴的時間, 雖然有時不能得到最滿意的答案,但大家也是竭盡所能的幫忙, 至少在之中的討論,另學到了一些別人的經驗~「經驗」是無價, 短短幾次的討論就有如此收穫,是非常值得。 而受到這麼多人的幫忙,覺得自己該回饋此版, 才慢慢試著從發問者,開始解答一些能幫的上忙的問題。 也慢慢了解,一個「答題者」並不好當,尤其是一個長久的答題者, 除了要有滿腹的知識,更要有「不求回報」的雅量, 相信大家遇到的「失蹤人口」應該都不少... 縱然如此, 我還是依然當一個熱心的答題者~ 如果收到我會答的問題,一定第一時間給予答覆, 能幫各位寫個範例就一定寫,能幫各位看個程式就一定看, 除非正好上班且忙碌中~ 不論我的答題得分數從好幾個星期前,就一直是26~ = =~ 但我記得po了不少文章說~呵 都變成打字練習了吧~ 我希望,這種答題給分的良性互動能繼續下去, 給個分對「發問者」有損失嗎? 沒有, 不給分,對「答題者」有損失嗎? 也沒有, 但,給分,是種對答題者的額外鼓勵,何樂不為呢 國泰平安 |
kenbcb
中階會員 發表:171 回覆:129 積分:60 註冊:2003-07-15 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
To kenbcb:
真的不滿意可以不給分,沒有關係,真的,不然,就不需要設個(缺席)啦 < > >
之前比較空,由七十幾分到破百幾乎可以說是能搶就搶,哈哈,回想起來還真的蠻刺激的,等下次工作比較有空時,再來試試每天最多可得幾分 < >
加油囉,以您的實力,應該可以很快就破百了,建議,去 > 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |