zoukankan      html  css  js  c++  java
  • 源码实现 --> strdel

    删除字符串中某个字符strdel

    函数

    char *strDel(char* str,const char chToDel)

    不是库里面的函数,自己实现的原型,删除str中所有的chToDel字符。

    源码

    //基本思想是:通过pRefStr2遍历str,找出不等于chToDel的值,将其赋值与pRefStr2
    char *strDel(char* str,char chToDel)
    {
        
        assert((str!=NULL)&& (chToDel!=NULL));
       char *pRefStr1, *pRefStr2;
        pRefStr1=pRefStr2=str;//将两个指针变量同时指向str,后续改变指针变量的值相当于改变str的值
    
        while(*pRefStr2++){
            if(*pRefStr2!=chToDel) 
            {
                *pRefStr1++=*pRefStr2;//找到不等于chToDel的值,并将其赋值与pRefStr1,再将pRefStr1的指针向后移动;
            }
         }
        *pRefStr1='';
        return str;
    }

    关键点: 注意C语言程序的顺序执行,以及指针。

    测试

    #include<iostream.h>
    #include<assert.h>
    void main()
    {
        char destStr[10]="aadddfcca";
        char delStr='a';
        strDel(destStr,delStr);
        cout<<destStr<<endl;
    }

    输出结果:

    dddfcc
  • 相关阅读:
    线性筛素数
    redis集成springmvc
    shiro登录权限认证
    jQuery插件
    maven多项目配置
    w
    触发器
    后悔了可以找我我们是朋友
    url upload data
    排队
  • 原文地址:https://www.cnblogs.com/jeakeven/p/5855530.html
Copyright © 2011-2022 走看看