用strcpy或memcpy连接字符串

时间:2019-10-05 01:33:54

标签: c

我正尝试通过以下方法使用strcpy连接字符串:

char * concat(char ** buffer) {

    char * joined_string = malloc(50);

    int offset=0;
    while (*buffer) {
        strcpy(joined_string+offset, *buffer++); // seg fault, how to advance offset?
        offset += strlen(*buffer);
    }

    return joined_string;
}

是否有一种方法可以通过偏移量继续前进以继续写入字符串缓冲区?如果是这样,那该怎么办?

1 个答案:

答案 0 :(得分:3)

主要错误在于,您将offset中的 next 字符串的长度推进buffer,而不是刚刚追加的长度。

相关问题