#include
#include
#include
int startwhere(char longchar[100],char befchar[20]) //找位置函数
{
unsigned int i,k=0;
int flg=1;
for(i=0;i<strlen(longchar)-strlen(befchar);i++)
{
if(flg)
{
for(k=i;k<strlen(befchar);k++)
{
if(longchar[k]!=befchar[k])
break;
}
if(k==strlen(befchar))
{
return i;
}
}
flg=0;
if(longchar[i]== ' ')
flg=1;
}
return -1;
}
int charmove(char longchar[100], int start,int len) //移动字符串,腾出空间
{
int i;
if(start+len>100)
return 0 ;
for(i=strlen(longchar);i>=start;i++)
{
longchar[i+len]=longchar[i];
}
return 1;
}
void insert(char longchar[100],char subchar[20],int start) //在腾出的空间插入子串
{
unsigned int i;
for(i=0;i<strlen(subchar);i++)
{
longchar[start+i]=subchar[i];
}
}
void main()
{
char longchar[100];
char subchar[20];
char befchar[20];
int start;
int i;
gets(longchar);
gets(subchar);
gets(befchar);
start=startwhere(longchar,befchar);
i=charmove(longchar,start,strlen(subchar));
if(i)
{
insert(longchar,subchar,start);
}
else
{
printf("you input error\n");
}
puts(longchar);
}