📅  最后修改于: 2023-12-03 15:07:27.841000             🧑  作者: Mango
在 C 编程语言中,我们可以使用多种方法来合并两个字符串。下面是一些常用的方法,它们的实现方式也略有不同。
strcat()
函数可以将两个字符串拼接在一起。在这种情况下,我们需要声明一个新的字符串来存储结果。
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "Hello";
char str2[100] = "world!";
char str3[100];
strcpy(str3, str1);
strcat(str3, str2);
printf("%s", str3);
return 0;
}
在上面的代码中,我们首先声明了三个字符串:str1
、str2
和 str3
。我们将 Hello
和 world!
存储到 str1
和 str2
中,然后使用 strcpy()
函数将 str1
的值复制到 str3
中。最后使用 strcat()
函数将 str2
的值拼接到 str3
的末尾。
sprintf()
函数是格式化输出函数,可以将一个字符串格式化为另一个字符串。我们可以使用它来合并两个字符串,如下所示:
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "Hello";
char str2[100] = "world!";
char str3[100];
sprintf(str3, "%s %s", str1, str2);
printf("%s", str3);
return 0;
}
在上面的代码中,我们使用 sprintf()
函数将 str1
和 str2
连接成一个字符串。sprintf()
的第一个参数是要格式化的字符串,后面的参数是要插入的字符串。在我们的例子中,%s
是一个占位符,将被插入到 str3
中。
我们还可以使用 strcat()
和 strncat()
函数来合并两个字符串,如下所示:
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "Hello";
char str2[100] = "world!";
char str3[100];
strcpy(str3, str1);
strncat(str3, str2, 6);
printf("%s", str3);
return 0;
}
在上面的代码中,我们首先将 Hello
存储到 str1
中,world!
存储到 str2
中。然后使用 strcpy()
函数将 str1
的值复制到 str3
中。最后使用 strncat()
函数将 str2
的前六个字符拼接到 str3
的末尾。这里使用 strncat()
函数可以避免越界访问。
以上是三种常用的方法,如有其他方法欢迎补充!