亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: C語言遇到一個(gè)問題 [打印本頁]

作者: yang5856    時(shí)間: 2009-10-07 17:57
標(biāo)題: C語言遇到一個(gè)問題
各位大蝦:

    我要實(shí)現(xiàn)如下一個(gè)功能,不停的收取不同的十六進(jìn)制數(shù)據(jù)段,我希望能有什么辦法,在每次收取memcpy一個(gè)數(shù)據(jù)段時(shí),在其后放置一個(gè)標(biāo)志,這樣的話,哪怕我的數(shù)據(jù)有非常多,我在解析的時(shí)候,也能知道我一共收取了多少個(gè)數(shù)據(jù)段,我想了很久,不曉得如何來添加一個(gè)標(biāo)志,因?yàn)?~255這些數(shù)據(jù),都有可能在真實(shí)的數(shù)據(jù)段里出現(xiàn),所以不能作為標(biāo)志來使用.
作者: woodmuch    時(shí)間: 2009-10-07 18:03
標(biāo)題: 看看計(jì)算機(jī)網(wǎng)絡(luò)
建議這位仁兄看看《計(jì)算機(jī)網(wǎng)絡(luò)》,網(wǎng)絡(luò)通信也有這個(gè)問題。 很簡單的
作者: yang5856    時(shí)間: 2009-10-07 18:20
原帖由 woodmuch 于 2009-10-7 18:03 發(fā)表
建議這位仁兄看看《計(jì)算機(jī)網(wǎng)絡(luò)》,網(wǎng)絡(luò)通信也有這個(gè)問題。 很簡單的



望告知下, 網(wǎng)絡(luò)太龐大了,哪部分,謝謝了.
作者: zxhtony    時(shí)間: 2009-10-07 18:23
收取不同的十六進(jìn)制數(shù)據(jù)段時(shí)用一個(gè)count實(shí)時(shí)記錄
作者: yang5856    時(shí)間: 2009-10-07 19:25
原帖由 zxhtony 于 2009-10-7 18:23 發(fā)表
收取不同的十六進(jìn)制數(shù)據(jù)段時(shí)用一個(gè)count實(shí)時(shí)記錄



能不能說的詳細(xì)一點(diǎn),這個(gè)count是一直累加?
作者: cheney_lang    時(shí)間: 2009-10-07 19:32
定義一個(gè)結(jié)構(gòu)體:

struct hex_buf
{
     char *p;
     int len;
};

每次收到一個(gè)buffer,就動(dòng)態(tài)分配一個(gè)結(jié)構(gòu)體來保存。

[ 本帖最后由 cheney_lang 于 2009-10-7 19:54 編輯 ]
作者: yang5856    時(shí)間: 2009-10-07 20:36
原帖由 cheney_lang 于 2009-10-7 19:32 發(fā)表
定義一個(gè)結(jié)構(gòu)體:

struct hex_buf
{
     char *p;
     int len;
};

每次收到一個(gè)buffer,就動(dòng)態(tài)分配一個(gè)結(jié)構(gòu)體來保存。



我是想把收到的數(shù)據(jù)放在一個(gè)數(shù)據(jù)流里面,然后在這個(gè)數(shù)據(jù)流里面,內(nèi)嵌一些標(biāo)志,來對不同的數(shù)據(jù)段進(jìn)行區(qū)分.

況且,如果不停的malloc,heap will be unused.
作者: cheney_lang    時(shí)間: 2009-10-07 21:02
原帖由 yang5856 于 2009-10-7 20:36 發(fā)表



況且,如果不停的malloc,heap will be unused.


這個(gè)是什么意思?
要不你將受到的數(shù)據(jù)進(jìn)行編碼,比如base64,然后就可以用特殊字符來分隔,比如&
作者: yang5856    時(shí)間: 2009-10-07 21:25
原帖由 cheney_lang 于 2009-10-7 21:02 發(fā)表


這個(gè)是什么意思?
要不你將受到的數(shù)據(jù)進(jìn)行編碼,比如base64,然后就可以用特殊字符來分隔,比如&



好像看來, 我也是只能對數(shù)據(jù)流進(jìn)行編碼,實(shí)在是沒有什么辦法了.
作者: kelvin_ke    時(shí)間: 2009-10-08 09:11
怎么聽著像是ip的加報(bào)頭一樣呢
作者: langue    時(shí)間: 2009-10-08 09:51
1、這里不是第九區(qū),沒有大蝦。
2、用結(jié)構(gòu)體是普遍的做法,最簡單的就是分作長度和內(nèi)容兩個(gè)字段,你要長度就訪問長度字段,要內(nèi)容就訪問內(nèi)容字段。
3、“不停地malloc,heap will be unused”是什么意思?
作者: sunyu_bit    時(shí)間: 2009-10-08 10:57
恩,用存取二進(jìn)制文件的方式就可以,可以定義如下格式第一個(gè)int表示數(shù)據(jù)的大。ㄗ止(jié)),然后后面跟著的就是數(shù)據(jù)的內(nèi)容,這樣循環(huán)下去就能滿足你的要求
作者: @sky    時(shí)間: 2009-10-09 10:26
還是結(jié)構(gòu)吧
作者: jackin0627    時(shí)間: 2009-10-09 13:26
原帖由 yang5856 于 2009-10-7 20:36 發(fā)表



我是想把收到的數(shù)據(jù)放在一個(gè)數(shù)據(jù)流里面,然后在這個(gè)數(shù)據(jù)流里面,內(nèi)嵌一些標(biāo)志,來對不同的數(shù)據(jù)段進(jìn)行區(qū)分.

況且,如果不停的malloc,heap will be unused.


可以參考一下網(wǎng)絡(luò)中的SLIP協(xié)議
作者: net_robber    時(shí)間: 2009-10-09 13:40
原帖由 cheney_lang 于 2009-10-7 19:32 發(fā)表
定義一個(gè)結(jié)構(gòu)體:

struct hex_buf
{
     char *p;
     int len;
};

每次收到一個(gè)buffer,就動(dòng)態(tài)分配一個(gè)結(jié)構(gòu)體來保存。





  1. typedef struct _type
  2. {
  3.     int len;
  4.     char buf[0];
  5. } type
復(fù)制代碼


比較好一點(diǎn)
作者: adamgame    時(shí)間: 2009-10-16 10:57
最好的辦法,構(gòu)造環(huán)行緩沖區(qū).




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2