C语言版的字符串反向查找替换函数在网上没有找到合适的,C语言没有标准的库函数,个人写的代码都太长。最终无果,还是自己动手。
下面是我实现的代码:
void replace_reverse_char(char * dest,const char ch,const char * newstr)
{
char *pold = strrchr(dest,ch)+1;
strcpy(pold,newstr);
}
代码是极其简洁的。没法再少了。
实现的思路:
先用strrchr反向查找指定的字符,得到指向字符的字符串指针。我这里是要替换查找到字符的后面的字符串,所以加1了。然后就直接字符串复制替换,就实现了反向查找字符串,并替换字符串。
如果你不熟悉C语言的字符串函数有哪些,看这里:C语言库函数功能分类简述列表之标准C语言字符与字符串函数
使用示例代码:
#include <stdio.h>
void replace_reverse_char(char * dest,const char ch,const char * newstr);
void main()
{
char str[100]="www.cjjjs.com";
replace_reverse_char(str,'.',"com");
//执行后,str为www.cjjjs.com
}
多关注C++技术网,有很多实用的代码分享。分享在网站,也可以便于自己今后查询使用。