#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);
}
本文介绍了一个使用C++实现的字符串删除算法,该算法能够从一个字符串中删除所有与指定子字符串匹配的部分,保留其余部分不变。通过遍历源字符串并与目标字符串进行比较,实现了精确的删除功能。
1万+

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



