zoukankan      html  css  js  c++  java
  • 去除字符串中的空格

    用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数。不允许开辟新的空间,只能申请简单类型的自动变量。时间复杂度要求为O(n)。

    #include <bitset>
    #include<iostream>
    int deleteSpace(char * pstr);
    void main()
    {
        char word[]="dhkak df d fd   fdjfkda  dfd ff  f fd da ";
        deleteSpace(word);
        std::cout<<word<<std::endl;
    }
    
    int deleteSpace(char *pstr)
    {
        int newLen = strlen(pstr);
        char *p,*q;
        p=pstr;
        while(*p!=' ') p++;
        q=p;
        while(1)
        {
            while(*q==' ') 
            {
                q++; 
                if (*q=='') break;
            }        
    
            if(*q=='')
            {
                *p=*q;
                break;
            }
            else
            {
                *p=*q;
                *q=' ';
                q++;
                p++;
            }
        }
        int oldLen = strlen(pstr);
    
        return  oldLen-newLen;
    }

     去除首尾的空格

    char* Trim(char* lpStr)
    {
        if(lpStr == NULL)    //如果为空则返回NULL
            return NULL;
    
        char tmp[0x200] = {0};    //临时保存
        strcpy(tmp, lpStr);
        char* ptr = tmp;
        ptr = tmp + strlen(tmp) - 1;    //定位到最后一个字符
        while(*ptr == 0x20)    //从最后开始删除
        {
            ptr--;
            if(ptr < tmp)    //全部是空格则退出
            {
                strcpy(lpStr, "");
                return lpStr;
            }
        }
        *(ptr + 1) = 0;    //截断后面的空格
        ptr = tmp;
        while(*ptr == 0x20)    //从前面开始删除
            ptr++;    
        strcpy(lpStr, ptr);    //返回去掉空格后字符串
        return lpStr;
    }

    http://www.cnblogs.com/memset/archive/2012/03/10/2388569.html

    http://www.cnblogs.com/houjun/p/4915484.html(原文中有点问题) 

  • 相关阅读:
    python库--pandas--Series.str--字符串处理
    前端--jstree--异步加载数据
    python库--flask--创建嵌套蓝图
    Git--生成公钥和私钥并添加gitlab访问权限
    es查询--请求body
    python生成时间序列(date_range)
    golang使用组合完成伪继承
    golang interface类型的动态绑定
    ruby环境安装草稿
    openfire
  • 原文地址:https://www.cnblogs.com/lwngreat/p/4921719.html
Copyright © 2011-2022 走看看