→ xam:#38 ps = s2; 03/19 00:15
→ zptdaniel:可以請樓上告訴我要怎麼改嗎@@? 我不知道該怎麼做||| 03/19 00:20
→ akasan:s1.str[n+1]='\0'; 03/19 00:21
→ zptdaniel:改成 *ps = *s2 嗎? 03/19 00:21
→ akasan:陣列a[n] 能用的範圍是a[0~n-1] 03/19 00:21
→ akasan:那邊用用strcpy 03/19 00:22
推 QQ29:就1F所說的 你ps=s2 已經 mem leak了 已經找不回原先ps new的 03/19 00:23
→ QQ29:而你現在ps指到的是testin[] 是一個靜態陣列 不能delete阿 03/19 00:24
推 saxontai:s1.str = new char[strlen(s2)]; 03/19 00:31
→ saxontai:strcpy(s1.str, s2); 03/19 00:32
→ saxontai:或 sprintf(str.s1, "%s", s2); 03/19 00:33
※ 編輯: zptdaniel 來自: 123.194.100.216 (03/19 00:37)
→ zptdaniel:原來可以這樣寫啊@@ 懂了 謝謝各位^^ 03/19 00:38
推 saxontai:s1.ct = strlen(s2); 03/19 00:39
→ saxontai:s1.str = new char[s1.ct * sizeof(char)]; 03/19 00:40
→ zptdaniel:請問,new char[s1.ct]跟new char[s1.ct * sizeof(char)] 03/19 00:54
→ zptdaniel:兩個都可以執行,但是差別在於哪裡呢? 03/19 00:54
→ zptdaniel:這好像是個很蠢的問題@@ 03/19 00:55
→ zptdaniel:是後者配置的記憶體空間較大? 03/19 00:55
推 saxontai:呃,我搞笑,用到 C 的習慣了 XD new char[s1.ct]; 就好 03/19 00:58
→ zptdaniel:喔~了解! 謝謝saxontai! 03/19 01:03