C语言字符串删除中间部分字符串
时间: 2023-09-02 08:06:32 浏览: 113
你可以通过将字符串的要删除部分替换为空字符串来删除C语言字符串中的中间部分。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void deleteSubstring(char *str, const char *substr) {
int len = strlen(substr);
char *p = strstr(str, substr);
if (p != NULL) {
memmove(p, p + len, strlen(p + len) + 1);
}
}
int main() {
char str[100] = "Hello, world!";
const char substr[10] = "world";
printf("Before deletion: %s\n", str);
deleteSubstring(str, substr);
printf("After deletion: %s\n", str);
return 0;
}
```
在这个示例中,我们定义了一个`deleteSubstring`函数来删除字符串中的指定部分。它使用`strstr`函数来查找要删除的子字符串的位置,并使用`memmove`函数将后面的字符串覆盖到要删除的位置。最后,我们在`main`函数中演示了如何调用这个函数来删除字符串中的中间部分。
请注意,这只是一个简单的示例,仅删除第一个匹配的子字符串。如果你需要删除多个匹配的子字符串,你可能需要使用循环来重复调用`deleteSubstring`函数。
阅读全文
相关推荐


















