作者deo2000 (800IM)
看板C_and_CPP
標題[問題] C語言字串擴張 記憶體管理問題
時間Fri Sep 23 18:50:54 2016
若我先宣告了一個
char* str = NULL; 或者
char* str = (char*)malloc(4);
然後用 strcat() 或 sprintf() 等等方法去增加字串內容,增加到比原來多很多字。
我是否還需要手動 realloc 先把合併之後所需記憶體空間要出來?
還是這類合併字串的函式本身已經會重新配置?
因為經常在 strcat() 發生 Segmentation fault,想確實了解可能原因。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.205.43
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1474627856.A.734.html
1F:→ Caesar08: dest的memory要自己alloc,strcat不會幫你做 09/23 18:56
2F:→ james732: 字串的function應該都不會管你的記憶體,要自己負責 09/23 21:20
3F:推 godspeedlee: 改用 asprintf 11/01 00:19