legongju.com
我们一直在努力
2025-01-10 11:43 | 星期五

c语言怎么删除字符串的子串

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

  1. 使用strcpy()strlen()函数:
#include 
#include 

int main() {
    char str[] = "Hello, World!";
    char sub[] = "World";
    char result[strlen(str) + 1];

    strcpy(result, str);
    int index = strstr(result, sub) - result;
    strncpy(result + index, result + index + strlen(sub), strlen(result) - index - strlen(sub));
    result[strlen(result)] = '\0';

    printf("Original string: %s\n", str);
    printf("Modified string: %s\n", result);

    return 0;
}
  1. 使用realloc()free()函数:
#include 
#include 
#include 

char* remove_substring(char *str, const char *sub) {
    char *result = strdup(str);
    char *index = strstr(result, sub);

    if (index) {
        *index = '\0';
        realloc(result, strlen(result) - strlen(sub) + 1);
    }

    return result;
}

int main() {
    char str[] = "Hello, World!";
    char sub[] = "World";
    char *result = remove_substring(str, sub);

    printf("Original string: %s\n", str);
    printf("Modified string: %s\n", result);

    free(result);

    return 0;
}

请注意,这些方法都会修改原始字符串。如果你需要保留原始字符串,请创建一个新的字符串来存储结果。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/79975.html

相关推荐

  • 如何正确使用c语言的while循环

    如何正确使用c语言的while循环

    在C语言中,while循环是一种基本的控制结构,用于重复执行一段代码,直到给定条件不再满足
    #include int main() { int counter = 1; // 初始化计数器 // 当...

  • while循环在c语言中的优势是什么

    while循环在c语言中的优势是什么

    在C语言中,while循环具有一定的优势,主要体现在以下几个方面: 简洁性:while循环结构简单,易于理解。它只需要一个条件表达式,当条件为真时,循环体内的代码...

  • c语言中while循环的基本用法

    c语言中while循环的基本用法

    在C语言中,while循环是一种基本的控制结构,用于重复执行一段代码,直到给定的条件不再满足。while循环的基本语法如下:
    while (condition) { // 循环体(...

  • while循环在c语言中的错误处理

    while循环在c语言中的错误处理

    在C语言中,while循环用于重复执行一段代码,直到给定的条件不再满足。然而,如果在编写while循环时出现错误,可能会导致程序陷入无限循环或其他问题。以下是一些...

  • c语言怎么实现去除字符串中空格

    c语言怎么实现去除字符串中空格

    在C语言中,去除字符串中的空格可以通过遍历字符串并复制非空格字符来实现。这里有一个示例函数,它接受一个字符串作为输入,并返回一个新的字符串,其中所有空格...

  • c语言字符串怎么拆分成数组

    c语言字符串怎么拆分成数组

    在C语言中,字符串是一系列字符的集合,以空字符’\0’结尾。要将字符串拆分成数组,你可以使用字符串处理函数。以下是一个示例,将字符串拆分为字符数组:

  • c语言编程如何从字符串中删除子字符串

    c语言编程如何从字符串中删除子字符串

    在C语言中,要从字符串中删除子字符串,你可以使用以下方法: 使用strcpy()和strlen()函数
    使用memmove()函数 下面是两种方法的示例代码:
    方法1:使用...

  • c语言字符如何转换ascii码

    c语言字符如何转换ascii码

    在C语言中,你可以使用标准库函数ord()来获取一个字符的ASCII码。这个函数接受一个字符作为参数,并返回其对应的ASCII码值。
    下面是一个简单的示例代码,演...