在C語(yǔ)言中,字符串拼接主要有兩種常見(jiàn)的方法:
#include <stdio.h>
int main() {
char str1[] = "Hello, ";
char str2[] = "World!";
char result[20]; // 結(jié)果字符串的長(zhǎng)度應(yīng)足夠容納兩個(gè)源字符串和一個(gè)空終止符
strcpy(result, str1); // 將str1的內(nèi)容復(fù)制到result
strcat(result, str2); // 將str2的內(nèi)容追加到result的末尾
printf("Concatenated string: %s\n", result);
return 0;
}
#include <stdio.h>
int main() {
char *str1 = "Hello, ";
char *str2 = "World!";
char result[20]; // 結(jié)果字符串的長(zhǎng)度應(yīng)足夠容納兩個(gè)源字符串和一個(gè)空終止符
strcpy(result, str1); // 將str1的內(nèi)容復(fù)制到result
strcat(result, str2); // 將str2的內(nèi)容追加到result的末尾
printf("Concatenated string: %s\n", result);
return 0;
}
在這兩種方法中,我們使用了strcpy
函數(shù)來(lái)復(fù)制字符串,strcat
函數(shù)來(lái)拼接字符串。需要注意的是,為了確保結(jié)果字符串有足夠的空間來(lái)存儲(chǔ)源字符串和空終止符,我們需要預(yù)先分配足夠的空間給結(jié)果字符串。
另外,當(dāng)使用字符指針時(shí),源字符串(如str1
和str2
)必須是只讀的,因?yàn)樗鼈兪亲址置媪?,不能被修改。而使用字符?shù)組時(shí),我們可以修改字符串的內(nèi)容。