strcat 函数
时间: 2023-08-30 15:05:52 浏览: 95
strcat 函数是 C 语言中的字符串函数,用于将两个字符串连接起来。它的原型定义在 string.h 头文件中:
```
char *strcat(char *dest, const char *src);
```
其中 dest 是目标字符串,src 是源字符串。函数会将 src 字符串中的每个字符追加到 dest 字符串的末尾,并在最后添加一个字符串结束符 '\0'。函数返回一个指向 dest 字符串的指针。
需要注意的是,使用 strcat 函数时必须保证目标字符串有足够的空间容纳源字符串的所有字符和字符串结束符。否则,程序会发生不可预测的行为,甚至崩溃。
以下是一个使用 strcat 函数的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello, ";
char str2[] = "world!";
strcat(str1, str2);
printf("%s\n", str1); // 输出:Hello, world!
return 0;
}
```
相关问题
C语言3.编写一程序,将两个字符串连接起来,结果取代第一个字符串。 (1)用字符数组,不用strcat函数(即自己写一个具有strcat函数功能的函数); (2)用标准库中的strcat函数。
(1)使用字符数组连接字符串(自定义 strcat 功能的函数):
```c
#include <stdio.h>
#include <string.h>
// 自定义 str_concat 函数
void str_concat(char* dest, const char* src) {
int i = strlen(dest); // 获取dest字符串长度
while (dest[i] != '\0') { // 避免越界
i++;
}
for (; *src != '\0'; src++) { // 将源字符串逐个字符复制到dest
dest[i] = *src;
i++;
}
dest[i] = '\0'; // 添加终止符
}
int main() {
char str1[50], str2[] = " appended";
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin);
str1[strlen(str1)-1] = '\0'; // 去除换行符
str_concat(str1, str2);
printf("合并后的字符串: %s\n", str1);
return 0;
}
strcat函数实现
strcat函数用于将一个字符串追加到另一个字符串的末尾。它需要两个参数,第一个参数是目标字符串,第二个参数是要追加的源字符串。通过调用strcat函数,源字符串的内容将被追加到目标字符串的末尾,并且目标字符串会增长以容纳源字符串的内容。
在C语言中,有两种常见的方法来实现strcat函数。下面是其中一种实现方法的代码示例:
#include <stdio.h>
#include <string.h>
char* my_strcat(char* str1, const char* str2) {
char *ret = str1;
while(*str1 != '\0') {
str1++;
}
while(*str2 != '\0') {
*str1 = *str2;
str1++;
str2++;
}
*str1 = '\0';
return ret;
}
int main() {
char str1[20] = "abcdef";
char str2[10] = "ghjmn";
my_strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
以上代码中的my_strcat函数首先找到目标字符串的末尾,然后逐个将源字符串的字符复制到目标字符串中,直到遇到源字符串的结束符'\0'。最后,将目标字符串的末尾设置为'\0',以确保字符串正确终止。
阅读全文