用C语言编写一个高效率的函数来删除字符串里的给定字符。这个函数的调用模型如下所表示:
void RemoveChars(char* str,char* remove);
Answer:
void RemoveChars(char* str,char* remove){
int src,dst,remove_array[256];
/* zero all element in array*/
for(src = 0; scr < 256; src++){
remove_array[src] = 0;
}
/*set true for chars to be removed */
src = 0;
while(remove[src]){
remove_array[remove[src]] = 1;
}
/*Copy char unless it must be removed*/
src = dst = 0;
do{ /*do ... while terminates after copying NULL */
if(!remove_array[str[src]]){
str[dst++] = str[src];
}
}while(str[src++]);
}