推 Schottky: 問題出在你沒貼出來的地方 03/12 11:27
→ Schottky: 我隱隱覺得你有犯了置底第四誡就是了 03/12 11:29
→ descent: char *, const char*, char str[10] 這些差異你清楚嗎? 03/12 11:35
→ descent: 你是擔心 name 指向不合法位置嗎? 03/12 11:36
是的, 擔心指向不合法位置.
我將code貼在這邊: http://pastie.org/p/3RlwdiXlanGxt0CMfcQMEU
※ 編輯: pilipalabon (59.125.153.170 臺灣), 03/12/2021 11:49:39
推 Dinowchang: 用 char *name=(char []){“stream_server”}; 03/12 12:06
推 d630200x: 字串長度未定的情況下,我會宣告一個足夠的大的陣列,比 03/12 12:24
→ d630200x: 如char strbuff[255]之類的,方便對字串做操作 03/12 12:24
→ d630200x: 因為網頁我打不開,所以不確定實際你是怎麼寫就是了 03/12 12:25
推 LPH66: 你這個是結構成員, 當然必須要寫一個長度固定下來 03/12 13:14
→ LPH66: char name[] = "myserver"; 這種只有區域變數才能用 03/12 13:15
→ LPH66: 結構成員的問題在於它不知道有誰會用, 無法提前應對 03/12 13:16
→ LPH66: 不像區域變數只有當下指定的值在用, 所以可以讓編譯器自動 03/12 13:17
→ LPH66: 求出用的這裡有多長去留空間 03/12 13:17
→ LPH66: 結構成員的用法多半就像我樓上說的就給一個最大長度就好 03/12 13:17
→ LPH66: 或是像下篇文章說的使用 const char * 03/12 13:18
→ pilipalabon: 了解....學習了! 謝謝LPH66的解釋! 03/12 13:28
推 Gway: 為啥不是 知道strlen後 再malloc len+1(for '/0') ? 03/18 01:34
→ Lipraxde: 嵌入式系統不見得有 malloc 可以用 03/18 07:17