编写一个程序,当在一个字符串中出现子串时就删除它。用C语言
时间: 2024-03-24 18:37:43 浏览: 284
删除字符串中的子串(原创)
4星 · 用户满意度95%
好的,以下是一个简单的 C 语言程序,可以实现删除字符串中指定子串的功能。
```c
#include <stdio.h>
#include <string.h>
void remove_substring(char *str, char *sub) {
int len = strlen(sub);
char *p = str;
while ((p = strstr(p, sub))) {
memmove(p, p + len, strlen(p + len) + 1);
}
}
int main() {
char str[1000], sub[100];
printf("请输入原字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要删除的子串:");
fgets(sub, sizeof(sub), stdin);
remove_substring(str, sub);
printf("删除后的字符串为:%s", str);
return 0;
}
```
该程序通过使用 `strstr` 函数查找字符串中指定子串的位置,然后使用 `memmove` 函数将子串后面的字符向前移动,最终删除指定子串。
需要注意的是,由于输入的字符串可能包含换行符,因此使用 `fgets` 函数获取字符串输入,并且在输出时需要将换行符去除。
阅读全文