字符串的算法
来源:互联网 发布:admair 知乎 编辑:程序博客网 时间:2024/06/09 23:44
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="font-size:18px;"></span></span><pre name="code" class="cpp"><span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">//1.截取字符串中的数字</span>
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="cpp">char vipExplain[80]={0};sprintf(vipExplain,"%s",CLobbyCommon::getInstance()->m_lobbyMsg.vipexplain().c_str());char tempwhite[32]={0};char tempblack[80]={0};int j=0;int xbox=0;int blackindex=0;for(;xbox<sizeof(vipExplain);xbox++){tempwhite[j++]=vipExplain[xbox];if(vipExplain[xbox]==']'){++xbox;break;}}tempwhite[j]='\n';for(;xbox<sizeof(vipExplain);xbox++){tempblack[blackindex++]=vipExplain[xbox];//if(vipExplain[xbox]=='\n')//break;}//tempblack[blackindex]='\n';
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;"></span>
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">//2截取字符串中的数字</span>
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="cpp">void CLobbyCash::CutString(string ptr,int* reservedata) //jiequ string{int i=0,j=0,n=0;int sum=ptr.size();while(i<sum){char strint[32]={0};while((ptr[i]>='0' && ptr[i]<='9') && i<sum){strint[j++]=ptr[i++];if(!(ptr[i]>='0' && ptr[i]<='9')){reservedata[n]=atoi(strint);//cout<<b[n]<<endl;n++;j=0;}}i++;}}
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">//3,替换字符串的字串</span>
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="cpp">//JAVA中很多库函数可以直接使用,C++只好自己写// 字符串替换函数. // 能替换所有的要替换的字符串,被替换的字符串和替换的字符串不一定一样长. // pInput - 输入字符串. // pOutput - 输出字符串, 要保证足够的空间可以存储替换后的字符串. // pSrc - 要被替换的子字符串, 比如“你妈” // pDst - 要替换成的字符串, 比如“一万字草泥马在心中崩腾” // 注意:以上的字符串均要以'\0'结尾. // 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); } }
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;"></span>
0 0
- 字符串匹配的算法
- boost的字符串算法
- 字符串的相关算法
- 字符串的组合[算法]
- 字符串的算法总结
- 简单的字符串算法
- 字符串的排列[算法]
- boost的字符串算法
- 字符串的hash算法
- 字符串的组合[算法]
- 字符串的一些算法
- 字符串的KMP算法
- 字符串的组合[算法]
- 字符串的压缩算法
- 字符串的查找算法
- 字符串的算法
- 字符串的一些算法
- 字符串的KMP算法
- TotoiseSVN的基本使用方法
- 客户端Git代码的下载与提交
- “只进结果集不支持请求的操作”错误解决办法
- 第二章 Makefile总述
- AnimatorSeth和AnimatorListener
- 字符串的算法
- 第三章 Makefile的规则
- Java获取最后插入MySQL记录的自增ID值的3种方法
- [Android实例] 仿Win8磁铁效果,能够拖动改变Merto位置
- Java核心技术卷I:基础知识(原书第8版):6.5 代理
- C#上传视频生成缩略图
- 英文中各种发光
- 第四章 规则的命令
- git学习总结