c语言中string怎么删除指定字符串

   2025-02-22 6490
核心提示:在C语言中,可以使用以下方法删除指定的字符串:使用strcpy()函数:可以先将指定字符串后面的字符串向前移动,然后使用strcpy()

在C语言中,可以使用以下方法删除指定的字符串:

使用strcpy()函数:可以先将指定字符串后面的字符串向前移动,然后使用strcpy()函数将移动后的字符串复制回原数组中。示例代码如下:
#include <stdio.h>#include <string.h>void deleteString(char *str, const char *target) {char *ptr = strstr(str, target); // 查找目标字符串的位置if (ptr != NULL) {strcpy(ptr, ptr + strlen(target)); // 将后面的字符串向前移动}}int main() {char str[100] = "Hello World!";const char *target = "World";printf("Before: %s\n", str);deleteString(str, target);printf("After: %s\n", str);return 0;}

输出结果为:

Before: Hello World!After: Hello !
使用memmove()函数:可以直接使用memmove()函数将指定字符串后面的字符串向前移动。示例代码如下:
#include <stdio.h>#include <string.h>void deleteString(char *str, const char *target) {char *ptr = strstr(str, target); // 查找目标字符串的位置if (ptr != NULL) {memmove(ptr, ptr + strlen(target), strlen(ptr + strlen(target)) + 1); // 将后面的字符串向前移动}}int main() {char str[100] = "Hello World!";const char *target = "World";printf("Before: %s\n", str);deleteString(str, target);printf("After: %s\n", str);return 0;}

输出结果和之前的方法相同:

Before: Hello World!After: Hello !

这两种方法都可以用来删除指定的字符串,具体选择哪种方法取决于你的需求和偏好。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言