看板 C_and_CPP 關於我們 聯絡資訊
我現在使用封包分析軟體,將其結果產生出C語言陣列 但是產生出來的資料格式很奇怪 其格式如下 char pkt1[] = {0x88, 0x01, 0x2c}; char pkt2[] = {0x88, 0x01, 0x2c, 0x00}; char pkt3[] = {0x88, 0x01, 0x2c, 0x00}; . . . char pkt100[] = {0x88, 0x01, 0x2c, 0x00}; 現在想請問,當我讀完pkt1陣列,要怎麼自動轉換讀取pkt2陣列阿? for (i=0 ; i < 100 ; i++){ printf("pkt%d[] = %s\n", i , pkt?[1]); }; 目前想法如上,但是?部分我就不知道要怎辦了 請問我這樣的做法對嘛??如果對,那麼?那邊該填入什麼呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.178.154
QQ29:我想到的辦法只能先用一個vector把這些陣列給串起來了... 02/17 14:07
ms6163:用macro 02/17 14:11
HudsonE:char *t= pkt1; printf(..., t); t+= strlen( t)+ 2; 02/17 14:34
HudsonE:爛了不要找我卸卸 02/17 14:34
fjm31714:## 還是 # 忘了... 02/17 14:35
as0:##沒錯 02/17 14:36
QQ29:樓上可以說詳細點嘛 想知道一下 02/17 14:59
ledia:macro 是 compile time, 如果要用 ## 還是要把 1..100 列完 02/17 15:08
ledia:我比較好奇的是, 既然都已經有 pkt1 到 pkt100 了 02/17 15:09
ledia:為什麼不用個 editor 把它整理成比較好用的格式就好 02/17 15:09
adrianshum:贊同樓上, 改一改變 2d array 就好了 02/17 15:16
fire2:實際上pkt後的數字達到一萬多 所以...才需要用程式讀取 02/17 16:10
luisugueto:原波 所以ledia才說用editor去取代不必要的字串 02/17 16:24
fire2:editor要怎麼設定取代條件,才能夠方便C語言讀取呢?? 02/17 21:42
fire2:重覆的字串不是只有char與pkt嗎?把pkt取代成其他變數名...? 02/17 21:45
zog:留數字使之成2d array就好 其他的用空白取代 02/18 09:55
fire2:每個陣列大小不相同,這樣沒辦法知道讀取到哪邊... 02/18 10:47
sunneo:用程式碼產生程式碼吧 如果該程式產生的資料就是這樣 02/18 10:50
sunneo:那麼弄個小程式產生讀取多個陣列到一個陣列的也好 02/18 10:50