不用使用库函数,编写一个函数my_strcat(),功能和strcat()一样,实现字符串连接:
时间: 2024-10-07 07:07:11 浏览: 29
c++ 连接两个字符串实现代码 实现类似strcat功能
`my_strcat()` 函数是一个简单的手动实现字符串连接的例子,它将接收两个字符串作为输入,并通过逐字符拼接的方式创建一个新的字符串返回。这里我们假设没有可用的内存管理机制,需要手动处理内存分配和释放:
```c
#include <stdio.h>
#include <stdlib.h> // 仅用于获取内存大小
// 自定义字符串连接函数
char* my_strcat(char* dest, const char* src) {
int i, j;
for (i = 0; dest[i] != '\0'; i++) { // 遍历dest直到结束
if (src[0] == '\0') { // 如果src已经结束,直接添加'\0'
dest[i+1] = '\0';
break;
}
else {
dest[i++] = src[0]; // 将src的第一个字符复制到dest
src++; // 移动src指针到下一个字符
}
}
// 如果dest未满,追加剩余的src内容
while (*src != '\0') {
dest[i++] = *src++;
}
dest[i] = '\0'; // 添加终止符
return dest; // 返回结果
}
int main() {
char str1[] = "Hello";
char str2[] = " World!";
char result[50];
result = my_strcat(result, str1);
result = my_strcat(result, str2);
printf("Concatenated string: %s\n", result); // 输出: Hello World!
free(result); // 不使用库函数,记得手动释放内存
return 0;
}
```
阅读全文