
c++问题(插入字符串)
5个回答
展开全部
#include "stdio.h"
#define AAC 20
#define BAC 20
#define SAC 100
int main()
{ int i=0,j=0;
char aac[AAC],bac[BAC],sac[SAC];
printf("输入字符串1:");
scanf("%s",aac);
printf("输入字符串2:");
scanf("%s",bac);
printf("请输入想将字符串2插入到字符串1的第几个字符后面?");
scanf("%d",&i);
for(int k=0;'\0'!=aac[k];k++)
{
if(i!=k)
sac[j++]=aac[k];
else
{
for(int h=0;'\0'!=bac[h];h++)
sac[j++]=bac[h];
}
}
sac[j]='\0';
printf("%s",sac);
return 0;
}
经过测试,请安心使用
#define AAC 20
#define BAC 20
#define SAC 100
int main()
{ int i=0,j=0;
char aac[AAC],bac[BAC],sac[SAC];
printf("输入字符串1:");
scanf("%s",aac);
printf("输入字符串2:");
scanf("%s",bac);
printf("请输入想将字符串2插入到字符串1的第几个字符后面?");
scanf("%d",&i);
for(int k=0;'\0'!=aac[k];k++)
{
if(i!=k)
sac[j++]=aac[k];
else
{
for(int h=0;'\0'!=bac[h];h++)
sac[j++]=bac[h];
}
}
sac[j]='\0';
printf("%s",sac);
return 0;
}
经过测试,请安心使用
展开全部
用循环,使指针指到需插入的位置,把位置后面的字符串考贝到另一个字符串中,把前面的字串也考贝到另一个字串,再依次把三个字串加起来..
展开全部
把要插入的位置读出来,然后把被插入的字符串整体后移,然后插入要插入的字符串就好了
展开全部
char *a , *b ;
int n;
假设你要吧b插到 a[n]开始的这段里
char* c = new char[strlen(a)+1-n];
strcpy(a+n, b);
strcat(a, c);
delete[] c;
int n;
假设你要吧b插到 a[n]开始的这段里
char* c = new char[strlen(a)+1-n];
strcpy(a+n, b);
strcat(a, c);
delete[] c;
展开全部
1.开辟新内存
2.拷贝字符串的值(分三段)
3.回收原内存
2.拷贝字符串的值(分三段)
3.回收原内存
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询