c++编写函数实现字符串中指定字符位置插入字符串

本文介绍了一种在C++中实现的字符串插入算法,该算法能够在指定字符串s1中找到特定字符ch,并在其后插入另一个字符串s2。通过使用字符指针遍历和更新字符串,实现了s2在s1中ch后的正确位置插入。示例代码展示了如何在abcdefaaaaaf中找到'c'并插入gh。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
//定义一个void函数,有三个参数,分别是s1,s2,ch,要在s1里面找到ch,插入s2;
void insert(char s1[],char s2[],char ch)
{
    //定义两个字符指针,分别指向两个字符串;
    char *p=s1;
    char *q=s2;
    //通过遍历找到ch的位置,while循环直到*p==ch结束.
    while(*p++!=ch);//while循环后面有;表示循环体为空,只进行循环不进行操作
    //遍历s2
    while(*s2!='\0')
    {
        q=p;//z将指针p赋值给q,更新ch的位置
        while(*q!='\0') q++;//遍历s2,求出s1+s2的空间
        while(q>=p)//这个其实就是以s2长度为循环条件的
        *(p+1)=*q--;//依次将s2赋值到ch后
        *++q=*s2++;
        p++;
    }
}
int main()
{
    char s1[1000]="abcdefaaaaaf";
    char ch='c';
    char s2[100]="gh";
    char s3[2000];
    insert(s1,s2,ch);
    cout<<s1<<endl;


}
 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值