char *val1 = "/root";
char *val2 = "/p";
val1 = val1+val2;我想添加2个字符的指针值,并将其分配给第一个值。上面是代码片段。
发布于 2012-07-02 00:16:39
这样做是不可能的。由于您有两个指针,尝试添加它们将尝试添加指针本身,而不是操作它们所指向的内容。要连接这两个字符串,需要有/分配一个足够大的缓冲区来容纳这两个字符串:
char *both = malloc(strlen(val1) + strlen(val2) + 1);
if (both != NULL) {
strcpy(both, val1);
strcat(both, val2);
}发布于 2012-07-02 00:15:41
使用strcat或strncat函数连接字符串。C没有字符串连接运算符。
https://stackoverflow.com/questions/11283583
复制相似问题