*Others:p_result要足够大的空间存放结果 , 所以输入参数都要以\0结束;
*********************************************************************/
int str_replace(char *p_result,char* p_source,char* p_seach,char *p_repstr)
{
int c = 0;
int repstr_leng = 0;
int searchstr_leng = 0;
char *p1;
char *presult = p_result;
char *psource = p_source;
char *prep = p_repstr;
char *pseach = p_seach;
int nLen = 0;
repstr_leng = strlen(prep);
searchstr_leng = strlen(pseach);
do{
p1 = my_strstr(psource,p_seach);
if (p1 == 0)
{
strcpy(presult,psource);
return c;
}
c++;//匹配子串计数加1;
printf("结果:%s\r\n",p_result);
printf("源字符:%s\r\n",p_source);
// 拷贝上一个替换点和下一个替换点中间的字符串
nLen = p1 - psource;
memcpy(presult, psource, nLen);
// 拷贝需要替换的字符串
memcpy(presult + nLen,p_repstr,repstr_leng);
psource = p1 + searchstr_leng;
presult = presult + nLen + repstr_leng;
}while(p1);
return c;
}
#define MAX 200
int main(void)
{
int i = 0;
char s[MAX] ={0};//存放源字串
char s1[MAX]={0};//存放子字串
char s2[MAX]={0};//存放替换字串
char result_a[2000] = {0};//存放替换结果;
char *p,*ptm,*pr;
puts("Please input the string for s:");
scanf("%s",s);
puts("Please input the string for s1:");
scanf("%s",s1);
puts("Please input the string for s2:");
scanf("%s",s2);
ptm = s;
pr = result_a;
i = str_replace(pr,ptm,s1,s2);
printf("替换%d个子字符串;\r\n",i);
printf("替换后结果:%s\r\n",result_a);
system("pause");
}
【c语言串替换函数 c语言替换字符串函数】关于c语言串替换函数和c语言替换字符串函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- ERP系统常用快捷键,erp快捷键有哪些
- 如何调整公司营销成本,企业如何降低销售成本
- 桌面游戏纸牌玩法大全,好玩纸牌桌游
- 爱银直播软件下载,直播背景墙软件下载
- C语言函数不可以递归调用 递归程序不可能用非递归实现
- vb.net自动保存指定文件,vb 保存文件
- 低吸了区块链的股票,区块链大跌
- erp系统应用策略,erp实施应用案例分析
- vb.net程序自身 vbnet using