替换空格

来源:互联网 发布:python 包 编辑:程序博客网 时间:2024/05/18 23:14

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

void replaceSpace(char *str,int length) {        int space=0;        int l=0;        char *temp=str;        while(*str!='\0'){            if(*str==' ')                space++;            str++;            l++;        }        str=temp;        /* while(*(str+l)!='\0'){            if(*(str+l)==' ')                space++;            //str++;            l++;        }*/         /* while(str[l]!='\0'){            if(str[l]==' ')                space++;            //str++;            l++;        }*/        int newlen=l+space*2;       // cout<<l<<newlen<<endl;       // cout<<"hhhh  :"<<str<<endl;        while(l>=0&&newlen>l){            if(str[l]==' '){                str[newlen]='0';                str[newlen-1]='2';                str[newlen-2]='%';                newlen=newlen-3;                l--;            }else{                str[newlen]=str[l];                newlen--;                l--;            }        }    }

教训:自增了str,导致统计完空格后,指向尾,所以后面出错。

0 0
原创粉丝点击