?? subject_30571.htm
字號:
<p>
序號:30571 發表者:Ryan Liu 發表日期:2003-02-24 17:07:29
<br>主題:一連串結構體數據流,如何很好的分割開它們!
<br>內容:一個固定長度700字節的長度的結構體,<BR>如果現在我接收到一個數據流,里面有10個700字節相同結構的結構體,如何把它們分割開,并分別存儲。<BR>
<br><a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p>
<hr size=1>
<blockquote><p>
回復者:74LS373 回復日期:2003-02-24 17:19:42
<br>內容:如果10個700字節相同結構的結構體的數據流是順序存儲的話,可直接把數據流的首地址付給結構體數組的首地址。<BR>YourStrcut s[10];<BR>s=數據流的首地址;
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:tjhe 回復日期:2003-02-24 17:48:18
<br>內容:假設數據流的首地址:YourStrcut *pHead;<BR><BR>YourStrcut s[10];<BR>for(int i=0;i<10;i++)<BR>{<BR> memcpy((void*)(&(s[i])),(void*)(pHead+sizeof(YourStruct)*i),sizeof(YourStruct));<BR>}
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:Ryan Liu 回復日期:2003-02-24 17:57:59
<br>內容:我這10個700字節的結構體數據, 如果是分若干次從socket讀出來的,如何將這些數據完整放在以上結構體數組中呢?能給一些例子最好了。多謝指教<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:Ryan Liu 回復日期:2003-02-24 18:07:12
<br>內容:而且有可能一次就讀完,也可能第一次讀了1個多結構,即不到兩個結構,下一次再讀剩下的數據。(這是由于TCP的無邊界的流協議造成的)如何去實現正常分割和存儲呢?請高手指點了。謝謝!<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回復者:tjhe 回復日期:2003-02-24 18:10:55
<br>內容:記錄每次讀的字節數,以此計算保存數據的開時地址:<BR><BR>YourStrcut *pHead = (YourStrcut*)new unsigned char[10*700];<BR>unsigned char* pCur = (unsigned char*)pHead;<BR>int readbytes=0;<BR>int curread=0;<BR><BR>以pCur作為保存數據的緩沖區首地址,從socket讀數據,假設curread=1000;<BR>則readbytes+=curread;<BR>pCur += curread;<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:Ryan Liu 回復日期:2003-02-25 10:37:57
<br>內容:memcpy使用后會出問題,不知為何?
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復者:Ryan Liu 回復日期:2003-02-25 11:04:09
<br>內容:哦。好了。沒問題。多謝各位了,
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -