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

我想添加 2 个字符指针值并将其分配给第一个值。以上是代码片段。

4

2 回答 2

5

不能那样做。由于您有两个指针,因此尝试添加它们将尝试添加指针本身,而不是操纵它们指向的内容。要连接两个字符串,您需要拥有/分配一个足够大的缓冲区来容纳两者:

char *both = malloc(strlen(val1) + strlen(val2) + 1);
if (both != NULL) {
    strcpy(both, val1);
    strcat(both, val2);
}
于 2012-07-01T16:16:38.953 回答
2

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

于 2012-07-01T16:15:41.397 回答