用c++实现一个自己的字符串连接函数mystrcat。 题目中已经给出main函数,main函数会调用mystrcat函数进行测试,会输入两个字符串A和Bmystrcat返回连接后的字符串,并且在A和B之间加上一个字符“-”。
时间: 2024-02-28 12:56:11 浏览: 65
好的,我来给你实现一个mystrcat函数,代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* mystrcat(char* A, char* B) {
int lenA = strlen(A);
int lenB = strlen(B);
char* res = new char[lenA + lenB + 2];
int i, j;
for (i = 0; i < lenA; i++) {
res[i] = A[i];
}
res[i] = '-';
for (j = 0; j < lenB; j++) {
res[i + 1 + j] = B[j];
}
res[i + 1 + j] = '\0';
return res;
}
int main() {
char A[100], B[100];
cin >> A >> B;
char* res = mystrcat(A, B);
cout << res << endl;
delete[] res;
return 0;
}
```
在这里我们使用了C++的动态内存分配,即new和delete[],因为我们需要返回一个动态分配的字符数组(字符串)。
在mystrcat函数中,我们首先计算出两个输入字符串的长度,然后利用动态分配的字符数组res来存储连接后的结果,我们先将A中的字符逐一复制到res中,然后在A和B之间加上一个字符“-”,最后再将B中的字符逐一复制到res中。最后别忘了在res的末尾加上一个'\0'表示字符串结束。
在main函数中我们首先输入两个字符串A和B,然后调用mystrcat函数得到连接后的结果,并输出。最后别忘了释放动态分配的内存。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)