4条回答 默认 最新
- CSDN专家-link 2021-06-14 22:31关注
#include<stdio.h> #include <string.h> //将s1串中起始位置n,长度l的子串移动到位置m处 char * movetext(char *s1,int n,int l,int m) { int len = 0; int i,j; for(i=0;s1[i] != 0;i++) //计算字符串s1的长度 len++; char *p = new char[l]; memcpy(p,s1+n,l); //存储子串 for(i=0;i<len-n-l;i++) //子串后的字符全部前移l个位置 *(s1+n+i) = *(s1+n+l+i); len -= l; //s1删除子串后的长度 if(m >= len-1) //如果插入位置在s1的尾部,则直接合并即可 { for(i=0;i<l;i++) *(s1+len+i) = *(p+i); } else //插入位置之后的字符后移l个位置 { for(i=len-1;i>=m;i--) *(s1+i+l) = *(s1+i); for(i=0;i<l;i++) *(s1+m+i) = *(p+i); } delete []p; return s1; } int main() { char s1[] = "hello world,I love you!"; char *p = movetext(s1,2,2,3); printf("%s",p); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥30 关于<main>标签页面跳转的问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加
- ¥15 用ns3仿真出5G核心网网元
- ¥15 matlab答疑 关于海上风电的爬坡事件检测
- ¥88 python部署量化回测异常问题