作者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/cn.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