实现一个自己的字符串连接函数mystrcat。 题目中已经给出main函数,main函数会调用mystrcat函数进行测试,会输入两个字符串A和Bmystrcat返回连接后的字符串,并且在A和B之间加上一个字符“-”
时间: 2024-06-16 08:05:19 浏览: 12
要实现自己的字符串连接函数mystrcat,可以按照以下步骤进行:
1. 首先,需要确定连接后的字符串的长度。可以使用strlen函数来获取字符串的长度。
2. 创建一个新的字符数组,长度为两个字符串的长度加上1(用于存放连接后的字符串)。
3. 将第一个字符串A复制到新的字符数组中。
4. 在第一个字符串A的末尾添加一个字符“-”。
5. 将第二个字符串B复制到新的字符数组中,从第一个字符串A的末尾开始复制。
6. 在新的字符数组的末尾添加一个空字符'\0',表示字符串的结束。
7. 返回新的字符数组作为连接后的字符串。
下面是一个可能的实现:
```cpp
#include <iostream>
#include <cstring>
char* mystrcat(const char* A, const char* B) {
int lenA = strlen(A);
int lenB = strlen(B);
int lenNew = lenA + lenB + 2; // 加2是为了添加连接符和空字符'\0'
char* result = new char[lenNew];
strcpy(result, A);
result[lenA] = '-';
strcpy(result + lenA + 1, B);
result[lenNew - 1] = '\0';
return result;
}
int main() {
const char* A = "Hello";
const char* B = "World";
char* result = mystrcat(A, B);
std::cout << result << std::endl;
delete[] result;
return 0;
}
```
在上面的代码中,我们使用了strcpy函数来复制字符串,strlen函数来获取字符串的长度。注意,在使用完连接后的字符串后,需要使用delete[]释放内存空间。