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