int insertString(String *s, char *str,int pos);//声明
int main()
{
init(&s, "HELLOWORLD");
int k = insertString(&s,"123",2);
cout<<k<<endl;
show(&s);// HE123LLOWORLD
return 0;
}
int insertString(String *s, char *str,int pos)
{
if(s->data==NULL) return ERROR;
if(pos<0||pos>=s->length) return ERROR;
int len = strlen(str);
if(s->length+len>s->maxlength)
{
s->data= (char*)realloc(s->data, sizeof(char)*(len+s->length+1));//多加的一个1
s->maxlength=len+s->length;//实际存过的最大的字符串的个数
}
for(int i=s->length;i>=pos;i--)
{
s->data[i+len] = s->data[i];
}
for(int i=0;i<=len-1;i++)//pos---pos+len-1:len个字符
s->data[pos+i] = str[i];
s->length+=len;
return SUCCESS;
}
本文详细介绍了使用C++实现字符串插入功能的方法。通过一个具体的示例,展示了如何在指定位置将一个字符串插入到另一个字符串中,包括内存重新分配、字符串复制和长度更新等关键步骤。
&spm=1001.2101.3001.5002&articleId=83068560&d=1&t=3&u=8cadcfb1aad04183b10e3f20ac72bdda)

被折叠的 条评论
为什么被折叠?



