看板 C_and_CPP 關於我們 聯絡資訊
若我先宣告了一個 char* str = NULL; 或者 char* str = (char*)malloc(4); 然後用 strcat() 或 sprintf() 等等方法去增加字串內容,增加到比原來多很多字。 我是否還需要手動 realloc 先把合併之後所需記憶體空間要出來? 還是這類合併字串的函式本身已經會重新配置? 因為經常在 strcat() 發生 Segmentation fault,想確實了解可能原因。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.205.43 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1474627856.A.734.html
Caesar08: dest的memory要自己alloc,strcat不會幫你做 09/23 18:56
james732: 字串的function應該都不會管你的記憶體,要自己負責 09/23 21:20
godspeedlee: 改用 asprintf 11/01 00:19