一)从字符串中删除指定子串
转载地址:
http://hi.baidu.com/fangm/item/85b8db57b926ed948d12ed44
#include <iostream>
void delsub(char *str, char *sub)
{
char *psrc = str, *pdest = str, *psub, *p;
if((str == NULL) || (sub == NULL))
return;
while(*psrc)
{
p = psrc;
psub = sub;
while(*p && *p == *psub)
{
p++;
psub++;
}
if(*psub == 0)//找到一个子串
psrc = p;
else
*pdest++ = *psrc++;
}
*pdest = 0;
}
int main()
{
char str[] = "askdaskaskaaaaadaskg";
char sub[] = "ask";
cout<<"first str = "<<str<<endl;
cout<<"sub str = "<<sub<<endl;
delsub(str,sub);
cout<<"after del = "<<str<<endl;
return 0;
}
二)删除指定元素
#include<iostream>
using namespace std;
#include <stdio.h>
int main(void)
{
char uu[20], *p, *sub = "ask", *str = "askdaskaskaaaaadaskg", *str2;
int n = 0, i = 0;
p = sub;
str2 = str;
while (*str2)
{
while (*p)
{
if (*p == *str2)
break;
p++;
}
if (*p == '\0')
{
uu[i] = *str2;
i++;
}
str2++;
p = sub;
}
uu[i] = 0;
str = uu;
printf("\n %s", str);
return 0;
}