#include <iostream>
using std::cout;
using std::endl;
char *delstr(char*a,char*b)
{
char*st=a,*s2,*s1;
while (*st&&*b)
{
s1=st;
s2=b;
while (*s1&&*s2&&!(*s1-*s2))
s1++,s2++;
if (!*s2)
{
while (*st++=*s1++);
st=a;
//st-=1;
}
st++;
}
return (a);
}
int main()
{
char a[]="dbcnnnabbcdrrrbcfffbc";
cout<<delstr(a," ");
system("pause");
return 0;
}
删除中间前后组成的b保留
char *delstr(char*a,char*b)
{
char*st=a,*s2,*s1;
int n=0;
bool bl=1;
while (*st&&*b)
{
s1=st;
s2=b;
while (*s1&&*s2&&!(*s1-*s2))
s1++,s2++;
if (!*s2)
{
while (*st++=*s1++);
st=a+n;
}
n++;
st++;
}
return (a);
}