2012-07-01 154 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); 
}