用c语言在字符串1中删除字符串2
时间: 2023-12-12 19:02:30 浏览: 33
以下是用C语言实现从字符串1中删除字符串2的示例代码:
```c
#include <stdio.h>
#include <string.h>
void delete_substr(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int i, j, k;
for (i = 0; i <= len1 - len2; ++i) {
k = i;
// 查找是否包含字符串2
for (j = 0; j < len2; ++j) {
if (str1[k] == str2[j]) {
++k;
} else {
break;
}
}
// 找到字符串2,删除并移动指针
if (j == len2) {
memmove(&str1[i], &str1[i + len2], len1 - i - len2 + 1);
i -= len2;
len1 -= len2;
}
}
}
int main() {
char str1[100] = "hello world";
char str2[10] = "llo";
delete_substr(str1, str2);
printf("After deleting: %s\n", str1);
return 0;
}
```
以上代码中,`delete_substr` 函数用于删除字符串1中的字符串2。首先计算字符串1和字符串2的长度,然后遍历字符串1中每一个可能的起始位置,查找是否包含字符串2。如果找到字符串2,就通过 `memmove` 函数将字符串1中的字符串2删除,并移动后面的字符。最后输出删除后的字符串1。