编写函数 strlink(char *sl,char *s2),将s2所指向的字符串连接至s1 所指向的字符串之后。
时间: 2024-09-09 10:00:52 浏览: 89
字符串的各个函数写法
strlink 函数用于将第二个字符串 s2 连接到第一个字符串 s1 的末尾,形成一个新的字符串。它通常涉及到动态内存管理,因为新字符串的长度可能是不确定的。以下是这个函数的一个基本描述:
```c
#include <stdio.h>
#include <stdlib.h> // 需要包含 malloc 和 free 函数
char* strlink(char *sl, char *s2) {
if (sl == NULL || s2 == NULL) { // 检查输入是否为空
return sl; // 如果有一个为空,直接返回原指针
}
// 计算新的字符串长度,包括结束符 '\0'
size_t len1 = strlen(sl);
size_t len2 = strlen(s2);
size_t total_len = len1 + len2;
// 动态分配足够空间的新字符串
char* result = (char*)malloc(total_len + 1); // +1 为了存放 '\0'
// 将 sl 的内容复制到新字符串的起始位置
strncpy(result, sl, len1);
// 将 s2 添加到 sl 的结尾
result[len1] = '\0'; // 结束 sl 的复制
strcat(result, s2); // 添加 s2
return result;
}
阅读全文