替换空格

请实现一个函数,把字符串中的每个空格替换成“%20”,例如输入“We are happy”,则输出“We%20are%20happy”。

#include <iostream>

using namespace std;

void replacespace(char* data,int length)
{
    if(data==NULL||length<=0)
        return;
    int num=0,numofnew;
    for(int i=0;i<length;i++)
        if(data[i]==' ')
            num++;
    numofnew=length+2*num-1;
    for(int i=length-1;i>=0;i--)
    {
        if(i==numofnew)
            break;
        if(data[i]!=' ')
            data[numofnew--]=data[i];
        else{
            data[numofnew--]='0';
            data[numofnew--]='2';
            data[numofnew--]='%';
        }

    }
}

int main()
{
    char data[]="as fg";
    int length=6;
    replacespace(data,length);
    cout<<data;
    return 0;
}

 

posted @ 2017-08-09 23:42  home普通的人  阅读(128)  评论(0编辑  收藏  举报