连接字符串(2)

时间:2012-07-01 16:12:36

标签: c pointers char

char *val1 = "/root";
char *val2 = "/p";
val1 = val1+val2;

我想添加2个char指针值并将其指定给第1个值。上面是代码snippt。

2 个答案:

答案 0 :(得分:5)

不可能那样做。由于你有两个指针,尝试添加它们会尝试自己添加指针,而不是操纵它们所指向的指针。要连接这两个字符串,您需要/分配一个足够大的缓冲区来容纳两个字符串:

char *both = malloc(strlen(val1) + strlen(val2) + 1);
if (both != NULL) {
    strcpy(both, val1);
    strcat(both, val2);
}

答案 1 :(得分:2)

使用strcatstrncat函数来连接字符串。 C没有字符串连接运算符。