#include
#include
void remove_chars(char* str, char *remove) {
int i, j, size = strlen(remove);
for (i = 0; str[i]; i++) {
for (j = 0; j < size; j++) {
if (str[i] == remove[j]) {
memmove(str + i, str + i + 1, strlen(str + i));
}
}
}
}
int main() {
char str[] = "Hello, world!";
char remove[] = "l";
printf("Original string: %s\n", str);
remove_chars(str, remove);
printf("New string: %s\n", str);
return 0;
}
在此例中,remove_chars
函数接受两个参数:字符串 str
和要删除的字符数组 remove
。通过嵌套循环,在字符串中逐个检查每个字符,并检查该字符是否与 remove
数组中的任何字符相同。如果是,则使用 memmove
函数将该字符从字符串中删除。最后,在 main
函数中,我们展示了如何调用 remove_chars
函数,并输出结果。