c++编写函数实现字符串中指定字符位置插入字符串
#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;
}