0
char *val1 = "/root";
char *val2 = "/p";
val1 = val1+val2;
我想添加2个字符指针值并将其分配给第1个值。以上是代码snippt。串联字符串(2)
char *val1 = "/root";
char *val2 = "/p";
val1 = val1+val2;
我想添加2个字符指针值并将其分配给第1个值。以上是代码snippt。串联字符串(2)
使用strcat
或strncat
函数来连接字符串。 C没有字符串连接运算符。
这不能这样做。既然你有两个指针,试图添加它们会尝试自己添加指针,而不是操纵它们指向的内容。以连接两个字符串,你需要有/分配一个缓冲区大到足以容纳两个:
char *both = malloc(strlen(val1) + strlen(val2) + 1);
if (both != NULL) {
strcpy(both, val1);
strcat(both, val2);
}
你真的应该看看C++,如果你想写这样的代码......或任何其他更高高级语言。 – rubenvb