我正在尝试将一个字符串附加到另一个字符串,但我遇到了一个段错误,似乎无法弄清楚我做错了什么。
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
。这可能是我错过的痛苦显而易见的事情,但是有人可以解释如何正确地做到这一点,并解释我做错了什么吗?