把子字符串插入到字符串的指定位置
先把父串往后遍历让中间空出要拷贝的子串的长度,把第pos个之后的挪到pos+lensub的位置上去
具体代码如下
void StrInsert(char *des,int pos,const char *sub)
{
int lendes = strlen(des);
int lensub = strlen(sub);
if(pos<0 || pos>lendes)
{
return;
}
for(int i=lendes;i>=pos;i--)
{
des[i+lensub] = des[i];
}
for(int j=0;j<lensub;j++)
{
des[pos+j] = sub[j];
}
}
int main()
{
char str[100] = "abcd";
char *str2 = "xyz";
StrInsert(str,2,str2);
printf("%s\n",str);
return 0;
}