2012-07-01 116 views
0
char *val1 = "/root"; 
char *val2 = "/p"; 
val1 = val1+val2; 

我想添加2个字符指针值并将其分配给第1个值。以上是代码snippt。串联字符串(2)

+0

你真的应该看看C++,如果你想写这样的代码......或任何其他更高高级语言。 – rubenvb

回答

2

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

5

这不能这样做。既然你有两个指针,试图添加它们会尝试自己添加指针,而不是操纵它们指向的内容。以连接两个字符串,你需要有/分配一个缓冲区大到足以容纳两个:

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