在C语言中,字符串拼接主要有两种常见的方法:
- 使用字符数组:
#includeint main() { char str1[] = "Hello, "; char str2[] = "World!"; char result[20]; // 结果字符串的长度应足够容纳两个源字符串和一个空终止符 strcpy(result, str1); // 将str1的内容复制到result strcat(result, str2); // 将str2的内容追加到result的末尾 printf("Concatenated string: %s\n", result); return 0; }
- 使用字符指针:
#includeint main() { char *str1 = "Hello, "; char *str2 = "World!"; char result[20]; // 结果字符串的长度应足够容纳两个源字符串和一个空终止符 strcpy(result, str1); // 将str1的内容复制到result strcat(result, str2); // 将str2的内容追加到result的末尾 printf("Concatenated string: %s\n", result); return 0; }
在这两种方法中,我们使用了strcpy
函数来复制字符串,strcat
函数来拼接字符串。需要注意的是,为了确保结果字符串有足够的空间来存储源字符串和空终止符,我们需要预先分配足够的空间给结果字符串。
另外,当使用字符指针时,源字符串(如str1
和str2
)必须是只读的,因为它们是字符串字面量,不能被修改。而使用字符数组时,我们可以修改字符串的内容。