C/C++ 替换字符串(指定char)

#pragma warning(disable:4996)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

// 替换字符串
void replace_str(char* text, char sp_ch, char re_ch);

int main() {

    char input[11] = "2020-10-10";
    replace_str(input, '-', '/');
    printf("%s \n", input);
    return 0;
}

// 替换字符串(sp_ch 替换之前的字符, re_ch 即将替换的字符)
void replace_str(char* text, char sp_ch, char re_ch) {
    int len = strlen(text);
	
    // 动态创建copy之后的字符创
    char* copy = (char*)malloc(len + 1);

    for (int i = 0; i < len; i++)
    {
        // 获取当前的char
        char ch = text[i];
        if (ch == sp_ch)
            copy[i] = re_ch;
        else
            copy[i] = ch;
    }
    // 结束
    copy[len] = 0;
    // 赋值给传进来的字符串
    strcpy(text, copy);
    // 释放动态创建的内存
    free(copy);
    return text;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章