打印
[应用方案]

字符串的替换操作

[复制链接]
1850|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ulystronglll|  楼主 | 2024-5-30 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


#include <stdio.h>
#include <string.h>

void custom_replace(char *str, const char *find, const char *replace) {
    int find_len = strlen(find);
    int replace_len = strlen(replace);
    int str_len = strlen(str);

    for (int i = 0; i <= str_len - find_len; i++) {
        int j;
        for (j = 0; j < find_len; j++) {
            if (str[i + j] != find[j]) {
                break;
            }
        }
        if (j == find_len) {
            memmove(str + i + replace_len, str + i + find_len, str_len - i - find_len + 1);
            memcpy(str + i, replace, replace_len);
            str_len = str_len - find_len + replace_len;
        }
    }
}

int main() {
    char str[] = "Hello, world! This is a test.";
    const char *find = "world";
    const char *replace = "universe";

    custom_replace(str, find, replace);

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

    return 0;
}


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

1207

帖子

1

粉丝