【发布时间】:2013-10-08 23:16:24
【问题描述】:
我正在尝试将一个字符串附加到另一个字符串,但我遇到了段错误,似乎无法弄清楚我做错了什么。
typedef char * String;
String function(String str) {
// Some variables here
String current = "";
String ch = "";
//More code here
while() {
if() {
current = malloc(strlen(current) + strlen(ch) + 1);
strcat(current, ch);
}
...
}
}
即使strcat 行被注释掉,我仍然会遇到段错误,反之亦然malloc 行。这可能是我错过的痛苦显而易见的事情,但是有人可以解释如何正确地做到这一点,并解释我做错了什么吗?
【问题讨论】:
-
当前在 malloc 后不是 nul 终止的。
标签: c