c语言中完成一个自定义函数,替换指定字符串中的对应字符的代码

如何编写,谢谢大神们了
2025-03-24 04:04:04
推荐回答(4个)
回答1:

#include "stdafx.h"
#include 
#include 

void replaceChar(char *string, char oldChar, char newChar){
    int len = strlen(string);
    int i;
    for (i = 0; i < len; i++){
        if (string[i] == oldChar){
            string[i] = newChar;
        }
    }
}

int main(){
    
    char str[] = "test";
    char oldChar = 't';
    char newChar = 'w'; 

    replaceChar(str, oldChar, newChar);
    printf("%s\n", str);
    return 0;

}

回答2:

BOOL strrep(char* strRes,char* from, char* to)

{

    int i;

    BOOL flag = 0;

    char *p,*q,*ts;

    for(i = 0; strRes[i]; ++i)

    {

        if(strRes[i] == from[0])

        {

            p = strRes + i;

            q = from;

            while(*q && (*p++ == *q++));

            if(*q == '\0')

            {

                ts = (char *)malloc(strlen(strRes) + 1);//分配内存                strcpy(ts,p);//复制字符串
                strRes[i] = '\0';

                strcat(strRes,to);//连接字符串
                strcat(strRes,ts);

                free(ts);//释放内存
                flag = 1;//成功
            }

        }

    }

    return flag;/*返回是否成功*/

}

回答3:

#include "stdafx.h"
#include 
#include 

void replaceChar(char *string, char oldChar, char newChar){
    int len = strlen(string);
    int i;
    for (i = 0; i < len; i++){
        if (string[i] == oldChar){
            string[i] = newChar;
        }
    }
}

int main(){
    
    char str[] = "test";
    char oldChar = 't';
    char newChar = 'w'; 

    replaceChar(str, oldChar, newChar);
    printf("%s\n", str);
    return 0;

}

回答4:

逐个比较字符串里的字符,找到一个需要替换的就替换,直到字符串结束
int tihuan(char *string, char tihuan, char beitihuan, int len)

{
int i;

for (i = 0; i < len; i++) {
if (string[i] == tihuan) {
string[i] = beitihuan;

}

}

return 0;

}