您的位置:首页 > Web前端

实现函数替换字符串中空格为%20.

2017-05-10 09:00 288 查看
实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy

思路:计算空格数量,然后根据空格数量计算替换后字符串长度,然后将原字符串变为新字符串。

#include <stdio.h>
#include <assert.h>
#include <string.h>

void replace_space( char* dest)
{
int len = 0; //原字符长度
int newlen = 0; //空格变为%20后字符长度
int snum = 0; //空格个数
assert(dest);
while(dest[len] != '\0') //计算原字符长度和空格个数
{
if(dest[len] == ' ')
{
snum+=1;
}
len++;

}
newlen = len+2*snum;
while(len+1) //加一为了判断第一个字符是不是空格
{
if(dest[len] == ' ')
{
dest[newlen--] = '0';
dest[newlen--] = '2';
dest[newlen] = '%';
}
else
{
dest[newlen] = dest[len];
}
newlen--;
len--;
}

}
int main()
{
char p[20] = "We are happy";
replace_space(p);
printf("%s",p);
}结果展示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐