[問題] 關於矩陣指標空間配置問題

看板C_and_CPP (C/C++)作者 (Monocle)時間14年前 (2011/11/20 01:49), 編輯推噓4(409)
留言13則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 問題(Question): 我正在練習寫網路相關程式,不過遇到了問題: 程式需要做的是把要傳送的內容包成struct packet,將此packet於兩主機 之間互相傳送,不過在網路上看到的一個範例結構寫法裡面有一項成員變 數讓我不知道如何使用它,就是 struct packet{ ... char message[1]; ... }; packet buff; 假設我要將char* msg="Hello!";這段文字放進buff.message中再把buff傳 給別台主機,請問這該如何做呢?是否是要message當作指標再指向一個新配 置的空間??但我不知道這該如何下手 此外,要再將message的內容printf出來又該如何寫呢? 請各位幫忙解答,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.136.204.178

11/20 02:25, , 1F
如果 message 是 struct 的最後一項,我就知道怎麼寫
11/20 02:25, 1F

11/20 02:47, , 2F
若是的話,請問該如何寫呢?
11/20 02:47, 2F

11/20 02:50, , 3F
11/20 02:50, 3F

11/20 02:53, , 4F
概念請看#1DhhMrOO這篇
11/20 02:53, 4F

11/20 03:44, , 5F
....結果往回追文竟然發現我在 #1DgV76tB 中槍一次 orz
11/20 03:44, 5F

11/20 03:46, , 6F
竟然到現在才發現 QQ
11/20 03:46, 6F

11/20 03:59, , 7F
將 char message[1]; 改成 string message; 可行嗎?
11/20 03:59, 7F

11/20 04:02, , 8F
改成 string 有它的優點跟缺點,譬如傳輸會更麻煩些...
11/20 04:02, 8F

11/20 04:02, , 9F
不可行
11/20 04:02, 9F

11/20 21:45, , 10F
可以問一下不可行的原因嗎 >///<
11/20 21:45, 10F

11/20 22:45, , 11F
我猜 (1) malloc 沒辦法喚起 constructor. (2) string
11/20 22:45, 11F

11/20 22:46, , 12F
實作未知,可能會動態管理 buf, 所以記憶體會錯亂。
11/20 22:46, 12F

11/20 23:01, , 13F
struct packet *buff = new struct packet(); 這樣呢?
11/20 23:01, 13F
文章代碼(AID): #1En-m-dS (C_and_CPP)
文章代碼(AID): #1En-m-dS (C_and_CPP)