题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”。
/*
63.在字符串中删除特定的字符。
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”。
*/
void RemoveChars(char* str,char* substr)
{
int tmp[256];
memset(tmp,0,sizeof(tmp));
for(int i=0;substr[i]!='\0';i++)
tmp[substr[i]]++;
int slow=0,fast=0;
int len=strlen(str);
while(fast<=len)
{
if(tmp[str[fast]]>0)
fast++;
else
{
str[slow]=str[fast];
slow++;
fast++;
}
}
}
void RemoveCharsTest()
{
char str[]="They are students.";
char substr[]="aeiou";
cout<<"str : "<<str<<endl;
cout<<"substr : "<<substr<<endl;
RemoveChars(str,substr);
cout<<"delete chars in substr , after delete str : "<<str<<endl;
}