字符串替换函数strreplace
来源:互联网 发布:淘宝要怎么成旗舰店 编辑:程序博客网 时间:2024/06/17 14:49
C语言实现一个字符串替换函数strreplace(char* str, char* sub, char* rep) ,str为原字符串,sub是待替换的字符串,rep为替换字符串,不得使用库函数。
实现代码如下:
#include <stdio.h>size_t strlen(const char* str){ size_t len = 0; for(len=0; *str; len++, str++); return len;}char* strncpy(char* dst, const char* src, size_t cnt){ char *p = NULL; if(dst == src) { return dst; } else if(dst < src) { p = dst; while(cnt) { *p++ = *src++; cnt--; } } else { p = dst + cnt; src = src + cnt; while(cnt) { *--p = *--src; cnt--; } } return dst;}char * strreplace(char* str, char* sub, char* rep){ size_t sub_len, rep_len; char *p, *p1, *q; sub_len = strlen(sub); rep_len = strlen(rep); for(p=str; *p != 0; p++) { for(p1=p, q=sub; *p1==*q && *q; p1++, q++); if(*q) continue; if(sub_len != rep_len) { strncpy(p+rep_len, p+sub_len, strlen(p+sub_len) + 1); } strncpy(p, rep, rep_len); p += rep_len; } return str;}int main(int argc, char** argv){ int ret; char a[100] = "abcdefg, abcdefg, abcdefg"; char b[] = "bcd"; char c[] = "12345678"; printf("before: %s\n", a); printf("after : %s\n", strreplace(a, b, c)); return ret;}
注意考虑以下情况:
sub长度 > rep长度
sub长度 < rep长度
0 0
- 字符串替换函数strreplace
- c语言之strreplace字符串替换
- StrReplace
- PHP文件写入,读取与替换内容strReplace.php
- str_replace函数-字符串替换
- 字符串替换函数
- 字符串替换函数
- StringReplace字符串替换函数
- 字符串替换函数
- 字符串替换函数 StringReplace
- Linux 字符串替换函数
- C字符串替换函数
- php字符串替换函数
- 替换字符串函数
- php字符串替换函数
- 字符串替换函数
- 字符串替换函数str_replace
- c#字符串替换函数
- 模拟退火法---飞机巡航问题
- POJ 3268 基本dijkstra
- unity3D 如何提取游戏资源 (反编译)+代码反编译【P.M.出品】
- Android-SQLiteOpenHelper的使用
- unity Animator 怎么判断一个动画播放结束
- 字符串替换函数strreplace
- CVS提交代码报错java.io.IOException: proxy error: Forbidden
- Hibernate一对多和多对一关系详解 (转载)
- 设计型软件无线电教学平台—USDR-2x
- 核心DOM编程
- Android状态栏微技巧,带你真正理解沉浸式模式
- 正则表达式
- 算术表达式的转换
- uC/OS-ll 任务、任务控制块、任务控制链表