用c语言实现替换字符串中的字符串

用c语言实现替换字符串中的字符串,第1张

二楼好像没理解题意,有时间我写一个,但分数也太少了吧?悲哀!

/培茄*

以下程序可以实现替换字符串中嫌蠢的字符串

*/

#include <stdio.h>

#include <string.h>

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 = 0i <str1_leni++)

{

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 = 0i <str1_leni++)

{

*strretu_temp++ = *str_temp

if(*str_temp++ != *str1_temp++)

{

str1_temp = str1

break

}

else

{

if(i == str1_len - 1)

{

strretu_temp = strretu_temp - str1_len

for(i = 0i <str2_leni++)

{

*strretu_temp++ = *str2_temp++

}

str2_temp = str2

str1_temp = str1

}

}

}

}

*strretu_temp = '\0'

str1_temp = str1

str_temp = str

str2_temp = str2

return(strretu)

}

int main(void)

{

/*

char *str = "asdf123asdf123aa"

char *str1 = "123"配者察

char *str2 = "999"

char *str = "eeeeee1245eeeeeeeeee1245eeeeeeeeeeeee1245eeeeeeeeeeee1245eeeeeeeeeeeee"

char *str1 = "1245"

char *str2 = "ffffffff"

*/

char *str = "fffffff0fffffff1fffffff2fffffff3fffffff4fffffff5fffffff6fffffff7fffffff8fffffff9"

char *str1 = "fffffff"

char *str2 = "月梦"

char *strretu = NULL

printf("str = %s\n", str)

printf("str1= %s\n", str1)

printf("str2= %s\n", str2)

strretu = replace(str, str1, str2, strretu)

printf("strretu = %s\n", strretu)

getch()

free(strretu)

return 0

}

请您确认调用replace方法时,地址栏路径是否正确,replace方法只能搜岩族作用于通过世弊wx.navigateTo或wx.redirectTo打开的页面,而不能作用于wx.navigateBack打开枣顷的页面。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12372332.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存