c语言实现字符串字串的替换
来源:互联网 发布:长沙unity3d培训 编辑:程序博客网 时间:2024/05/17 15:19
方法一:
void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst){ char *pi, *po, *p; int nSrcLen, nDstLen, nLen; // 指向输入字符串的游动指针. pi = pInput; // 指向输出字符串的游动指针. po = pOutput; // 计算被替换串和替换串的长度. nSrcLen = strlen(pSrc); nDstLen = strlen(pDst); // 查找pi指向字符串中第一次出现替换串的位置,并返回指针(找不到则返回null). p = strstr(pi, pSrc); if(p) { // 找到. while(p) { // 计算被替换串前边字符串的长度. nLen = (int)(p - pi); // 复制到输出字符串. memcpy(po, pi, nLen); memcpy(po + nLen, pDst, nDstLen); // 跳过被替换串. pi = p + nSrcLen; // 调整指向输出串的指针位置. po = po + nLen + nDstLen; // 继续查找. p = strstr(pi, pSrc); } // 复制剩余字符串. strcpy(po, pi); } else { // 没有找到则原样复制. strcpy(po, pi); }}
方法二:
#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXLEN 100int ReplaceStr(char *sSrc, char *sSubStr, char *sReplaceStr){ int StringLen; char caNewString[MAXLEN]; char *FindPos = strstr(sSrc, sSubStr); if( (!FindPos) || (!sSubStr) ) return -1; while( FindPos ) { memset(caNewString, 0, sizeof(caNewString)); StringLen = FindPos - sSrc; strncpy(caNewString, sSrc, StringLen); strcat(caNewString, sReplaceStr); strcat(caNewString, FindPos + strlen(sSubStr)); strcpy(sSrc, caNewString); FindPos = strstr(sSrc, sSubStr); } return 0;}
- c语言实现字符串字串的替换
- C语言实现字符串替换
- C语言实现字符串替换
- C语言字符串替换函数,字符串插入函数的实现
- 使用C语言实现字符串中子字符串的替换
- 自己实现的C 语言的字符串替换函数
- 自己实现的C 语言的字符串替换函数
- C语言现代方法之实现字符串的替换
- C语言现代方法之实现字符串的替换
- C语言实现字符串的查找和替换
- 【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
- 用C语言实现字符串替换功能
- 用C语言实现字符串替换功能
- C语言实现字符串替换函数
- C语言实现字符串替换函数
- 用STL实现字符串字串替换
- C语言 字符串替换
- C语言替换字符串
- HTML5-页面多页面滑动
- spring mvc @Qualifier注解接口来注入 @Service
- 类集框架的简单示例
- Android Maps app开源,邀请开发者共同参与
- 今天开始学习《30天自制操作系统》
- c语言实现字符串字串的替换
- 关闭oralce的进程oracle.exe,怎么再重新打开进程oracle.exe
- 手把手让你实现开源企业级web高并发解决方案(lvs+heartbeat+varnish+nginx+eAccelerator+memcached)
- Linux安装mysql——源码安装
- android 查看不到源码
- 转:如何去除DEM数据中的缺失值(NoData)
- AIR程序多开
- 层次遍历二叉树
- 滑动菜单栏之开源项目SlidingMenu的使用