c语言字符的替换

1个回答
展开全部
摘要 c语言字符的替换
您好亲,/* 功能:查找替换函数 返回值:替换后的字符串 strretu */char *Replace(char *str, char *str1, char *str2, char *strretu){ char *str_temp = str; //源字符串 char *str1_temp = str1; //要求替换的字符串 char *str2_temp = str2; //替换成字符串 char *strretu_temp = NULL;//目标字符串 unsigned long char_size = (unsigned long)sizeof(char)
; /*计算字符长度*/ unsigned long i,j,rep_acc = 0; unsigned long str_len = strlen(str); unsigned long str1_len = strlen(str1); unsigned long str2_len = strlen(str2)
; /*首先找出Str里有几个地方要被替换的*/ for(; str_temp - str < str_len; ) { for(i = 0; i < str1_len; i++) { if(*str_temp++ != *str1_temp++) { str1_temp = str1; break; } else { if(i == str1_len - 1) { str1_temp = str1; rep_acc++;//找到了 } } } } str1_temp = str1; str_temp = str; /*分配所需内存*/ strretu = strretu_temp = malloc(((str_len - str1_len * rep_acc) + str2_len * rep_acc + 1) * char_size)
; /*替换*/ for(; str_temp - str < str_len; ) { for(i = 0; i < str1_len; i++) { *strretu_temp++ = *str_temp; if(*str_temp++ != *str1_temp++) { str1_temp = str1; break; }
咨询记录 · 回答于2022-04-22
c语言字符的替换
c语言字符的替换您好亲,/* 功能:查找替换函数 返回值:替换后的字符串 strretu */char *Replace(char *str, char *str1, char *str2, char *strretu){ char *str_temp = str; //源字符串 char *str1_temp = str1; //要求替换的字符串 char *str2_temp = str2; //替换成字符串 char *strretu_temp = NULL;//目标字符串 unsigned long char_size = (unsigned long)sizeof(char); /*计算字符长度*/ unsigned long i,j,rep_acc = 0; unsigned long str_len = strlen(str); unsigned long str1_len = strlen(str1); unsigned long str2_len = strlen(str2); /*首先找出Str里有几个地方要被替换的*/ for(; str_temp - str < str_len; ) { for(i = 0; i < str1_len; i++) { if(*str_temp++ != *str1_temp++) { str1_temp = str1; break; } else { if(i == str1_len - 1) { str1_temp = str1; rep_acc++;//找到了 } } } } str1_temp = str1; str_temp = str; /*分配所需内存*/ strretu = strretu_temp = malloc(((str_len - str1_len * rep_acc) + str2_len * rep_acc + 1) * char_size); /*替换*/ for(; str_temp - str < str_len; ) { for(i = 0; i < str1_len; i++) { *strretu_temp++ = *str_temp; if(*str_temp++ != *str1_temp++) { str1_temp = str1; break; }
第二问
您好亲,图片看不清哦,请您具体描述一下您的具体问题吗?这样才可以为您更好的解答哦。非常抱歉哦
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消