使用c语言编写函数实现strcat函数功能 //(不调⽤C的字符串库函数,编写函数 strcat
时间: 2024-10-22 13:08:19 浏览: 37
C语言实现字符串操作函数的实例
在C语言中,如果没有使用标准库函数`strcat()`,我们可以手动实现字符串连接的功能。这里提供一个简单的非库函数版本,称为`my_strcat`:
```c
#include <stdio.h>
#include <stdlib.h> // 用于处理内存分配失败
// 定义字符数组类型的指针,用于存储结果字符串
typedef char* string;
// 自定义字符串连接函数
string my_strcat(string dest, const string src) {
// 检查输入是否为空
if (!dest || !src) {
printf("Error: Destination or source is null.\n");
return NULL;
}
// 计算目标字符串长度(不包括空字符'\0')
size_t dest_len = strlen(dest);
// 将源字符串追加到目标字符串,直到遇到空字符
for (size_t i = 0; src[i] != '\0'; ++i) {
dest[dest_len + i] = src[i];
}
// 确保添加完源字符串后有一个空字符作为结束标志
dest[dest_len + i] = '\0';
// 返回新的字符串
return dest;
}
int main() {
string str1 = "Hello";
string str2 = " World!";
string result = my_strcat(str1, str2);
if (result) {
printf("%s\n", result); // 输出: Hello World!
}
free(result); // 如果需要,释放字符串内存
return 0;
}
```
这个函数会将源字符串追加到目标字符串的末尾,并自动添加一个空字符作为结尾。请注意,虽然这个示例实现了基本功能,但在实际应用中,为了提高效率和安全性,通常还是推荐使用`strcat()`等标准库函数。
阅读全文