[問題] C語言字串擴張合併 記憶體管理問題

作者: deo2000 (800IM)   2016-09-23 18:50:54
若我先宣告了一個
char* str = NULL; 或者
char* str = (char*)malloc(4);
然後用 strcat() 或 sprintf() 等等方法去增加字串內容,增加到比原來多很多字。
我是否還需要手動 realloc 先把合併之後所需記憶體空間要出來?
還是這類合併字串的函式本身已經會重新配置?
因為經常在 strcat() 發生 Segmentation fault,想確實了解可能原因。
作者: Caesar08 (Caesar)   2016-09-23 18:56:00
dest的memory要自己alloc,strcat不會幫你做
作者: james732 (好人超)   2016-09-23 21:20:00
字串的function應該都不會管你的記憶體,要自己負責

Links booklink

Contact Us: admin [ a t ] ucptt.com