char *val1 = "/root";
char *val2 = "/p";
val1 = val1+val2;
我想添加 2 个字符指针值并将其分配给第一个值。以上是代码片段。
不能那样做。由于您有两个指针,因此尝试添加它们将尝试添加指针本身,而不是操纵它们指向的内容。要连接两个字符串,您需要拥有/分配一个足够大的缓冲区来容纳两者:
char *both = malloc(strlen(val1) + strlen(val2) + 1);
if (both != NULL) {
strcpy(both, val1);
strcat(both, val2);
}
使用strcat
orstrncat
函数连接字符串。C 没有字符串连接运算符。