//删除a里 b的字符串(不是字符),如:a:abcababcbacab,b:abc;得出结果是abbacab,不是连续出现的不删除
#include<stdio.h>
#include<string.h>
char *select(char *result,char *des,char *src)
{
char *tempResult=result;//results的移标
char *record=des;//位置记录
char *tempDes=des;//des的移标
char *tempSrc=src;//src的移标
while(*tempDes) //list des
{
record=tempDes;//记录当前位置。
tempSrc=src;
if(*tempDes==*tempSrc) //如果第一个相等
{
while((*tempDes++ == *tempSrc++))//如果全部都等
{
if(*tempSrc == '\0')
record=tempDes;//移标复位
}
tempDes=record; //如果只有一部分等
}
*tempResult++=*tempDes++;//把不等的部分记录下来
}
return result;//返回新记录
}
int main(void)
{
char a[]="abcababcbacab";
char b[]="abc";
char c[50];
char *p=c;
p=select(p,a,b);
printf("%s\n",p);
return 0;
}