题目:给定一个目标字符串dest和待插入的字符串src,以及插入位置index.编程实现在dest的指定位置index后面插入src,返回插入之后的dest并打印.比如:dest为:hello,c!,src为:love,index为4,则返回dest为:hellloveo,c!. 要求: 1 用返回指针的函数实现。char *insert(char *dest,char *src,int index). 2 输入输出格式: 输入两行:第一行为:dest和src 中间用空格隔开,如:abc de
时间: 2023-07-15 14:10:46 浏览: 111
以下是实现该功能的代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
char* insert(char* dest, char* src, int index) {
int len_dest = strlen(dest);
int len_src = strlen(src);
if (index > len_dest) { // 如果插入位置大于dest长度,直接返回dest
return dest;
}
char* new_str = new char[len_dest + len_src + 1]; // 新建一个char数组作为返回值
strncpy(new_str, dest, index); // 将dest中index位置之前的字符复制到新数组中
strncpy(new_str + index, src, len_src); // 将src中所有字符复制到新数组中
strncpy(new_str + index + len_src, dest + index, len_dest - index); // 将dest中index位置之后的字符复制到新数组中
new_str[len_dest + len_src] = '\0'; // 在新数组结尾添加'\0'
return new_str;
}
int main() {
char dest[100], src[100];
int index;
cin >> dest >> src >> index;
char* new_dest = insert(dest, src, index);
cout << new_dest << endl;
delete[] new_dest; // 记得释放内存
return 0;
}
```
示例输入:
```
hello,c! love 4
```
示例输出:
```
hellloveo,c! love
```
阅读全文