c语言

c语言replace函数怎么调用

小亿
212
2023-11-29 14:39:12
栏目: 编程语言

在C语言中,没有直接的replace函数,但可以通过一些方法来实现字符串的替换操作。以下是一种常见的方法:

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

// 替换字符串中的指定字符
void replace_char(char *str, char old_char, char new_char) {
    int length = strlen(str);
    for (int i = 0; i < length; i++) {
        if (str[i] == old_char) {
            str[i] = new_char;
        }
    }
}

// 替换字符串中的指定子串
void replace_substring(char *str, char *old_substring, char *new_substring) {
    int old_length = strlen(old_substring);
    int new_length = strlen(new_substring);
    int str_length = strlen(str);

    char *result = strstr(str, old_substring);

    while (result != NULL) {
        int start = result - str;
        int end = start + old_length;

        // 将目标子串后面的字符串复制到临时缓冲区
        char temp[100];
        strcpy(temp, result + old_length);

        // 在目标子串位置插入新子串
        strncpy(str + start, new_substring, new_length);
        strncat(str, temp, str_length - end);

        result = strstr(str + start + new_length, old_substring);
    }
}

int main() {
    char str[100] = "Hello, World!";
    
    // 替换字符
    replace_char(str, 'o', '1');
    printf("%s\n", str);  // 输出:Hell1, W1rld!

    // 替换子串
    replace_substring(str, "1, W", "lo");
    printf("%s\n", str);  // 输出:Hello, World!
    
    return 0;
}

以上代码中,replace_char函数用于替换字符串中的指定字符,replace_substring函数用于替换字符串中的指定子串。你可以根据需要调用这两个函数来实现字符串的替换操作。

0
看了该问题的人还看了