删除模式串中出现的字符,如“welcome to asted”,模式串为“aeiou”那么得到的是“wlcm t std”。
- #include<iostream>
using namespace std;
char *re(char *str,char *model)
{
if(str==NULL||model==NULL)
return NULL;
int Hash[58];A~Z 65~90 a~z 97~122,所以A~z共58个字符(26+6+26=58)
memset(Hash,0,sizeof(Hash));
for(int i=0;i<strlen(model);i++)
{
++Hash[model[i]-'A'];
}
char *address=str;
int index=0;
for(i=0;i<strlen(str);i++)
{
if(str[i]==' '|| Hash[str[i]-'A']==0 )
{
str[index]=str[i];
index++;
}
}
str[index]='\0';
return address;
//
}
int main()
{
char str[]="Welcome to China HaHa";
char model[]="Heiou";
cout<<re(str,model)<<endl;
return 0;
}